点击切换报错
我看了一下发现是ID没有赋值上去,这是为啥欸?
最后我直接在div上写上ID就可以了。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <!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 > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | // 封装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 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧