如何使用JavaScript实现无缝滚动自动播放轮播图效果
在一些项目开发中,我们经常需要使用到轮播图,但是没有深入学习的情况下做轮播图是非常困难的。
思路
分成小问题来解决
1.动态生成序号12345
页面有多少li(图片),就有多少序号
2.点击序号、显示高亮、切换图片
2.1给序号注册onclick事件
2.2取消其他序号高亮显示,让当前点击的序号高亮显示
2.3点击序号,动画的方式切换到当前点击的图片位置(设置自定义属性,记录当前索引,有了索引就可用动画进行移动)
3.鼠标放到盒子上的时候显示左右箭头,移开时候隐藏
onmouseenter和onmouseleave
4.实现左右箭头播放上一张下一张(无缝滚动)
5.隔多少时间自动播放
setInterval和element1..click()联合即可实现
代码:index.html:
*{ padding:0; margin:0; list-style:none; border:0; } body{ margin:0; background-color:rgb(55,190,89); } .all{ width:500px; height:200px; padding:4px; margin:100pxauto; position:relative; background-color:#fff; border-radius:20px; } .screen{ width:500px; height:200px; border-radius:17px; overflow:hidden; position:relative; } .screenli{ width:500px; height:200px; overflow:hidden; float:left; } .screenul{ position:absolute; left:0; top:0px; width:3000px; } .allol{ position:absolute; right:180px; bottom:10px; line-height:20px; text-align:center; } .allolli{ float:left; width:20px; height:20px; background:#fff; border-radius:10px; border:1pxsolid#ccc; margin-left:10px; cursor:pointer; opacity:0.5; /*透明度*/ } .allolli.current{ opacity:1.0; } #arr{ display:none; z-index:1000; } #arrspan{ width:40px; height:40px; position:absolute; left:5px; top:50%; margin-top:-20px; background:#000; cursor:pointer; line-height:40px; text-align:center; font-weight:bold; font-family:'黑体'; font-size:30px; color:#fff; opacity:0.5; border:1pxsolid#fff; border-radius:5px; } #arr#right{ right:5px; left:auto; }