原生js轮播效果demo
2017-03-05 13:15
309 查看
<!DOCTYPE html> <html> <head> <title>demo</title> <style> span{padding:5px 10px; background:blue;margin-bottom:5px;} .box{width:300px;height:100px;overflow:hidden;} .box div{width:300px;height:100px; display:none;} .box .block{display:block;} #status .active{background:#ccc;} </style> <script> window.onload = function(){ function BannerToggle(time, obj){ var time = time;//循环时间 var box = document.querySelector(obj); var count = 1; var timeId = null; var status = document.querySelectorAll('#status span'); function autoPlay(){ if(count <= 3){ box.querySelector('.block').className = box.querySelector('.block').className.replace('block',''); box.querySelectorAll('div')[count].className = 'block'; document.querySelector('#status .active').className = document.querySelector('#status .active').className.replace('active',''); status[count].className = 'active'; count++; }else{ count = 0; box.querySelector('.block').className = box.querySelector('.block').className.replace('block',''); box.querySelectorAll('div')[count].className = 'block'; document.querySelector('#status .active').className = document.querySelector('#status .active').className.replace('active',''); status[count].className = 'active'; count++; } } this.init = function(){ timeID = setInterval(autoPlay,time); for(var i = 0; i < status.length; i++ ){ (function(j){ console.log(j); status[j].onmouseenter = function(){ clearInterval(timeID); count = j; console.log(count); box.querySelector('.block').className = box.querySelector('.block').className.replace('block',''); box.querySelectorAll('div')[count].className = 'block'; document.querySelector('#status .active').className = document.querySelector('#status .active').className.replace('active',''); status[count].className = 'active'; } status[j].onmouseleave = function(){ count++; timeID = setInterval(autoPlay,time); } })(i); } } this.init(); } var a = new BannerToggle(3000, '.box'); } </script> </head> <body> <div style="padding:10px 0;" id="status"> <span class="active">1</span> <span>2</span> <span>3</span> <span>4</span> </div> <div class="box"> <div style="background:red;" class="block"></div> <div style="background:#ccc;"></div> <div style="background:green;"></div> <div style="background:yellow;"></div> </div> <div style="width:100px;height:100px;padding:100px;margin:100px;background:#000;"> </body> </html>
相关文章推荐
- 原生js实现图片层叠轮播切换效果
- 原生JS实现图片轮播与淡入效果的简单实例
- 原生javascript简单轮播效果demo
- 1、js原生实现移动端手指滑动轮播图效果(2)
- 原生js点击轮播图效果
- 原生js实现图片层叠轮播切换效果
- 原生js实现无缝轮播图效果
- 利用原生js实现轮播图效果
- 原生js实现无限循环轮播图效果
- 1、js原生实现移动端手指滑动轮播图效果
- 原生JS实现"旋转木马"效果的图片轮播插件
- 原生JS实现图片轮播切换效果
- 原生js实现网易轮播图效果
- 原生JS改变透明度实现轮播效果
- 原生js和jquery实现图片轮播淡入淡出效果
- 原生js实现——轮播图效果
- 原生js图片轮播效果实现代码
- JS原生实现图片轮播切换效果
- js实现轮播图效果(附源码)--原生js的应用
- 原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】