为了账号安全,请及时绑定邮箱和手机立即绑定

轮播图显示不了图片

轮播图显示不了图片

慕容森 2019-04-07 11:19:05
图片轮播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)
}
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 605 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信