有谁能够帮我看看这个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);
});
错误提示是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更容易些