点击切换报错
我看了一下发现是ID没有赋值上去,这是为啥欸?
最后我直接在div上写上ID就可以了。。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>轮播图</title> <link rel="stylesheet" type="text/css" href="css/index.css"> </head> <body> <!-- 头部 --> <div class="header" id="header"> <!-- 上方标签 --> <div class="tips" id="tips"> <div class="active">首页</div> <div>贯穿全站</div> <div>体验</div> <div>携手前后端</div> </div> <!-- banner轮播图 --> <div class="banner" id="banner"> <a href=""> <div class="banner-slide slide1 active"></div> </a> <a href=""> <div class="banner-slide slide2"></div> </a> <a href=""> <div class="banner-slide slide3"></div> </a> <a href=""> <div class="banner-slide slide4"></div> </a> </div> </div> <script type="text/javascript" src="js/index.js"></script> </body> </html>
// 封装document.getElementById function byId(idname){ return typeof(idname)==="string"?document.getElementById(idname):idname; } var index=0, timer=null, pics=byId("banner").getElementsByTagName("div"), tips=byId("tips").getElementsByTagName("div"), len=pics.length; //轮播效果 function slideImg(){ var banner=byId("banner"), header=byId("header"); //鼠标滑过停止 header.onmouseover=function(){ if(timer){ clearInterval(timer); } } //鼠标离开继续轮播 header.onmouseout=function(){ timer=setInterval(function(){ index++; if(index==len){ index=0; } changeImg(); },1000); } } function changeImg(){ for(var i=0;i<len;i++){ tips[i].className = ""; pics[i].style.display = "none"; } tips[index].className="active"; pics[index].style.display="block"; } //点击标签切换 for(var i=0;i<len;i++){ tips.id=i; tips[i].onclick=function(){ index=this.id; changeImg(); } } slideImg();
79
收起
正在回答
4回答
不知道你有没有听过ID是唯一的。你的tips就是通过ID定义,你又反向给他定义一个新的id?
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星