js错误,有谁能够帮我看一下问题出在哪里吗?
  • 玖爱一生 消费128.71元 2019-07-18 13:58 13:58
673
8

有谁能够帮我看看这个js代码问题出在哪里吗?红色代码那里是显示后面黄子的错误。



// 导师团队



var Oclone=document.getElementsByClassName('clone');

var Tyos=document.getElementsByClassName('yos-tab-cnt-s')[0];


Tyos.style.width=Oclone.length*232+'px';Uncaught TypeError: Cannot read property 'style' of undefined)


for (var i = 0; i < Oclone.length; i++) {

Oclone[i].index=i;

Oclone[i].onmouseover=function() {

for (var i = 0; i < Oclone.length; i++) {

Oclone[i].classList.remove("yos-dd");

};

Oclone[this.index].classList.add("yos-dd");

}

Oclone[i].onmouseout=function() {

Oclone[this.index].classList.remove("yos-dd");

}

};

var Lyos=document.getElementsByClassName('yos-l')[0];

var Ryos=document.getElementsByClassName('yos-r')[0];

var Tab=document.getElementsByClassName('yos-tab-cnt-s')[0];

var Oyos=document.getElementsByClassName('yos-tab')[0];

var indexy=0;


function yos (){


if(indexy>Oclone.length-6)

{

indexy=0;

}


//第index序号个图片

Tab.style.left=-indexy*232+'px';

}

var yost=setInterval(function(){

indexy++;

yos();

},1500)


Lyos.addEventListener('click' , function(){

if (indexy==0) {indexy=Oclone.length-5};

indexy--;

yos();

});

Ryos.addEventListener('click' , function(){

if (indexy==Oclone.length-5) {indexy==0};

indexy++;

yos();

});


Oyos.addEventListener('mouseover' , function(){

clearInterval(yost);

})

Oyos.addEventListener('mouseout' , function(){

yost=setInterval(function(){

indexy++;

yos();

},1500);

});


6
赏礼
赏钱
收藏
点击回复
      全部留言
  • 8
  • 阿赖耶识 程序开发者 消费:24.43元 2019-07-18 19:11 19:116楼

    错误提示是style属性不存在

    那你就检查看看Tyos=document.getElementsByClassName('yos-tab-cnt-s') 这句是否获取到了dom对象

    你可以改写成这样试试

    var Tyos=document.getElementsByClassName('yos-tab-cnt-s')[0];
    
    Tyos.style.width=Oclone.length*232+'px';
    
    
    改成:
    var Tyos=document.getElementsByClassName('yos-tab-cnt-s');
    Tyos[0].style.width=Oclone.length*232+'px';

    如果你只是修改一项的话,建议使用getElementsByID 或者用jquery处理dom更容易些

    玖爱一生 消费:128.71元 2019-07-18 22:02
    错误提示还是一样的
    阿赖耶识 消费:24.43元 2019-07-18 22:58
    换jquery处理试试
    玖爱一生 消费:128.71元 2019-07-18 23:21
    @torylf 你好,不是很会转换,可以帮我转换一下吗,谢谢了
    阿赖耶识 消费:24.43元 2019-07-18 23:59
    var Oclone=document.getElementsByClassName('clone'); //获取class为clone的所有元素
    
    var Oclone = $('.clone')  //jquery获取class为clone的所有元素
    
    var Tyos=document.getElementsByClassName('yos-tab-cnt-s')[0];  //获取class为yos-tab-cnt-s的第一个元素
    
    var Tyos = $(".yos-tab-cnt-s:first") //获取class为yos-tab-cnt-s的第一个元素
    
    
    Tyos.style.width=Oclone.length*232+'px';   //设置tyos的样式宽度 等于 Oclone的元素集合乘232px
    
    Tyos.width(Oclone.length*232)  //设置tyos的样式宽度 等于 Oclone的元素集合乘232px
    
    
    ...
    下面不报错的可以不处理,或者自己参考的处理


    玖爱一生 消费:128.71元 2019-07-19 00:46
    @torylf 谢谢你哦,找到问题所在了,是我把这个js加载在头部文件了,所以页面载入的时候获取不到对应的对象属性。加载在底部文件里就没有错误了。
0 赏钱 赏礼回复
0 赏钱 赏礼回复
  • 玖爱一生 普通粉丝 消费:128.71元 2019-07-18 16:55 16:556楼

    有人能指导一下吗?

0 赏钱 赏礼回复
更多回复
恢复多功能编辑器
  • 3 1
  • X1模板讨论
        圈内贴子1367
    • 圈子成员305
    本圈子内的新贴

    推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648