图片轮播body{font:12px"微软雅黑";}body,div,ul,li{margin:0;padding:0;}img{width:600px;height:300px;position:absolute;left:100px;}div{width:800px;height:500px;margin:0auto;position:relative;}ul{position:absolute;right:400px;top:250px;z-index:5px;overflow:hidden;}li{width:50px;height:50px;display:inline;cursor:pointer;background:#0003FF;border-radius:50%;color:white;opacity:0.7;margin-left:20px;}123varimgs=document.getElementsByTagName("img")[0];varimgSrc=newArray("http://1.yuhuo.sinaapp.com/3.jpg","http://1.yuhuo.sinaapp.com/2.jpg","http://1.yuhuo.sinaapp.com/1.jpg");varlis=document.getElementsByTagName("li");for(vari=0;i
2 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
其实你这个问题,是一个典型的闭包问题,源码中for(vari=0;ilis[0].onclick=function(){ imgs.setAttribute("src",imgSrc[i]);}}当你点击的时候这时候i已经执行到lis.length的值了,也就是3.那当然imgSrc[3]是undefined的。所以不起作用。关于闭包的问题你可以上网搜搜,很多介绍。修改建议:for(vari=0;ilis[i].onclick=(function(e){ returnfunction(){imgs.setAttribute("src",imgSrc[e]);}})(i)}
添加回答
举报
0/150
提交
取消