5-1问题,setAttribute出现问题
// 封装getElementById function byId(id){ return typeof(id)==="string"?document.getElementById(id):id; } var index=0, timer=null, pics=byId("banner").getElementsByTagName("div"), dots=byId("dots").getElementsByTagName("span"), len=pics.length, prev=byId("prev"), next=byId("next"), menu=byId("menu-content"), menuItems=menu.getElementsByClassName("menu-item");//ie8以下不支持 function slideImg(){ var main=byId("main"); //滑过清除定时器,离开继续 main.onmouseover=function(){ //清除定时器 if(timer)clearInterval(timer); } main.onmouseout=function(){ //离开继续 timer=setInterval(function(){ index++; if(index>=len){ index=0; } //切换图片 changeImg(); },3000); } main.onmouseout(); //点击圆点切换图片 for(var d=0;d<len;d++){ //给所有span添加一个id的属性,值为d,作为当前span的索引 dots[d].id=d; dots[d].onclick=function(){ //改变index为当前的span的索引 index=this.id; changeImg(); } } //点击下一张 next.onclick=function(){ index++; if(index>=len){ index=0; } changeImg(); } //点击上一张 prev.onclick=function(){ index--; if(index<0){ index=len-1; } changeImg(); } //导航菜单 //遍历主菜单,且绑定事件 for(var m=0;m<menuItems.length;m++){ menuItems[m].setAttribute("data-index,m"); menuItems[m].onmouseover=function(){ //给每一个menu-item设置一个data-index属性,作为索引 var idx=this.getAttribute("data-index"); console.log(idx) } } } function changeImg(){ //遍历banneri下所有div,将其隐藏 for(var i=0;i<len;i++){ pics[i].style.display="none"; dots[i].className=""; } //根据index索引,找到当前div,将其显示出来 pics[index].style.display="block"; dots[index].className="active"; } slideImg()
menuItems[m].setAttribute("data-index",m)这行总是报错
46
收起
正在回答 回答被采纳积分+1
2回答
慕婉清0895596
2017-09-19 15:44:32
已解决,找到问题
慕婉清0895596
2017-09-19 15:42:06
Uncaught TypeError: Failed to execute 'setAttribute' on 'Element': 2 arguments required, but only 1 present.
这是报错代码
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星