js实现按钮控制图片向左、向右、向上、向下无缝轮播
2017-04-21 17:24
806 查看
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>向左、向右、向上、向下无缝滚动</title> <style type="text/css"> *{ padding: 0; margin: 0; } .button{ width: 640px; margin: 50px 0 0 80px; } .button input{ width: 80px; height: 40px; line-height: 40px; border: none; outline: none; background: #8E3E8B; border-radius: 10px; color: #fff; font-size: 14px; margin-left: 20px; cursor: pointer; } ul,li{list-style: none;} .js-mask{ width: 640px; height: 350px; border: 1px solid black; position: relative; overflow: hidden; margin: 20px 0 0 100px; } .js-mask ul{ position: absolute; top: 0; left: 0; } .js-mask ul li{ /* float: left;*/ width: 640px; height: 350px; } .js-mask ul img{ width: 640px; height: 350px; display: block; border: none; } </style> </head> <body> <div class="button"> <input type="button" value="向左滚动"/> <input type="button" value="向右滚动"/> <input type="button" value="向上滚动"/> <input type="button" value="向下滚动"/> </div> <div class="js-mask"> <ul> <li><img src="img/1.jpeg" alt="" /></li> <li><img src="img/2.jpg" alt="" /></li> <li><img src="img/3.jpg" alt="" /></li> <li><img src="img/4.jpg" alt="" /></li> <li><img src="img/5.jpeg" alt="" /></li> <li><img src="img/6.jpg" alt="" /></li> </ul> </div> </body> <script type="text/javascript"> (function(){ //获取button var buttons=document.querySelectorAll('.button input'); //获取ul var oUl = document.querySelectorAll('.js-mask ul')[0]; // 获取ul里的li进行拼接,然后重新赋给ul // 由于ul初始时是4张图片的宽度,现在把宽度/高度变成是8张的宽度/高度 oUl.innerHTML+=oUl.innerHTML; var speed = 6; var timer; // 获取li,根据li的宽度/高度重新设置ul的宽度/高度 var oLies = document.querySelectorAll('.js-mask li');// 获取li //向左滚动 buttons[0].onclick = function(){ clearInterval(timer); for(var i=0;i<oLies.length;i++){ oLies[i].style.float='left'; //li左浮动 }; oUl.style.width=oLies[0].offsetWidth * oLies.length + 'px';// 设置ul宽度,li的宽度*li的个数 timer=setInterval(function(){ var speed = -6; if(oUl.offsetLeft <= -oUl.offsetWidth*.5){ oUl.style.left = '0px'; //重置 -oUl.offsetWidth*.5=-640 }; oUl.style.left = oUl.offsetLeft + speed + 'px'; //ul的位置 },100); }; //向右滚动 buttons[1].onclick = function(){ clearInterval(timer); for(var i=0;i<oLies.length;i++){ oLies[i].style.float='left'; //li左浮动 }; var speed = 6; oUl.style.left=oUl.offsetWidth*.5; //设置初始位置 oUl.style.width=oLies[0].offsetWidth * oLies.length + 'px';// 设置ul宽度,li的宽度*li的个数 timer=setInterval(function(){ if(oUl.offsetLeft >= 0){ oUl.style.left = '-640px'; //重置 }; oUl.style.left = oUl.offsetLeft + speed + 'px'; //ul的位置 },100); }; //向上滚动 buttons[2].onclick = function(){ clearInterval(timer); var speed = -6; oUl.style.height=oLies[0].offsetHeight * oLies.length + 'px';// 设置ul宽度,li的宽度*li的个数 timer=setInterval(function(){ if(oUl.offsetTop<=-oUl.offsetHeight*.5){ oUl.style.top = '0px'; }; oUl.style.top = oUl.offsetTop + speed +'px'; },100); }; //向下滚动 buttons[3].onclick = function(){ clearInterval(timer); var speed = 6; oUl.style.top='-350px'; oUl.style.height=oLies[0].offsetHeight * oLies.length + 'px';// 设置ul宽度,li的宽度*li的个数 timer=setInterval(function(){ if(oUl.offsetTop>=0){ oUl.style.top = '-350px'; }; oUl.style.top = oUl.offsetTop + speed +'px'; },100); }; })() </script> </html>
相关文章推荐
- 【实践】纯jquery实现图片滑动无缝轮播,带左右按钮及控制按钮
- JS图片不间断滚动代码(向上,向下,向左,向右)
- JS图片不间断滚动代码(向上,向下,向左,向右)
- js实现简单的动画(4个按钮控制图片上下左右移动)
- JS+CSS控制图片向上无缝滚动代码
- 图片或文字上下左右滚动【JS向上滚动、JS向下滚动、JS向左滚动、JS向右滚动】【整理综合】
- 分别用css3、JS实现图片简单的无缝轮播功效
- js图片不间断滚动代码(向上,向下,向左,向右)
- JS实现文字向上无缝滚动轮播
- 原生JS实现不添加图片的无缝轮播
- js实现按钮控制带有停顿效果的图片滚动
- js实现图片的无缝轮播滚动
- JS图片不间断滚动代码(向上,向下,向左,向右)
- js实现按钮控制图片360度翻转特效的方法
- js实现点击左右按钮轮播图片效果实例
- 使用js实现带有停顿效果的图片滚动(按钮控制)
- js图片轮播可控制是否循环轮播,点击左右按钮切换
- js实现图片无缝轮播效果
- JS 控制网页轮播图片的自动,按钮,导航原点转换
- js实现文字无缝向上轮播