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 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星