原生js实现图片循环轮播效果
2018-08-16 21:56
645 查看
<html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0;padding: 0; } .block{ position: relative; width:1000px; height: 400px; border: 1px solid grey; margin: 10% auto; overflow: hidden; } .ullist{ width:7000px; height: 400px; } .ullist li{ float: left; width:1000px; list-style: none; height:400px; } .b{ transition: all 0.5s ease-in-out; } img{ width:1000px; height:400px; } .banner{ position: absolute; bottom: 0; width:160px; height: 20px; margin-left: 420px; } .dian{ float: left; width:15px; height: 15px; border:1px solid silver; border-radius: 50%; background-color: black; margin: 0px 2px; } </style> </head> <body> <div class="block"> <ul class="ullist"> <li><img src="./img/demo1.jpg"></li> <li><img src="./img/demo2.jpg"></li> <li><img src="./img/demo3.jpg"></li> <li><img src="./img/demo4.jpg"></li> <li><img src="./img/demo5.jpg"></li> <li><img src="./img/demo6.jpg"></li> <li><img src="./img/demo1.jpg"></li> </ul> <div class="banner" > <div class="dian"></div> <div class="dian"></div> <div class="dian"></div> <div class="dian"></div> <div class="dian"></div> <div class="dian"></div> </div> </div> <script> //轮播 var times; var count=0; window.onload=function() { //获取ul //获取block var ullist = document.getElementsByClassName("ullist")[0]; var par = document.getElementsByClassName("block")[0]; var dian=document.getElementsByClassName("dian"); dian[0].style.backgroundColor="red"; par.onmouseenter = function () { clearInterval(times); }; par.onmouseleave = function () { times = setInterval(function () { imgbo(); }, 2000); }; //整体循环执行 times = setInterval(function () { //给ul添加属性b,过渡执行count<ullist.children.length-2的图片 imgbo(); }, 2000); //鼠标进入dian for(var i=0;i<dian.length;i++){ dian[i].index =i; dian[i].onmouseenter =function(){ dian[count].style.backgroundColor="black"; this.style.backgroundColor="red"; count=this.index; ullist.className="ullist b"; ullist.style.marginLeft=(-1000*count)+"px"; } } function imgbo() { ullist.className = "ullist b"; dian[count].style.backgroundColor="black"; count++; ullist.style.marginLeft = (-1000 * count) + "px"; console.log(count); setTimeout(function () {//只执行一次 if (count > ullist.children.length - 2) { ullist.className = "ullist";// count = 0; ullist.style.marginLeft = "0px"; } dian[count].style.backgroundColor="red"; }, 500); } } </script> </body> </html>阅读更多
相关文章推荐
- 原生JS实现图片轮播效果
- 原生js和css实现图片轮播效果
- 原生JS实现图片轮播与淡入效果的简单实例
- 原生js实现图片层叠轮播切换效果
- 原生js图片轮播效果实现代码
- 原生js和jquery实现图片轮播淡入淡出效果
- 原生JS实现图片轮播切换效果
- JS原生实现图片轮播切换效果
- 原生js实现图片层叠轮播切换效果
- 原生JS实现"旋转木马"效果的图片轮播插件
- 原生js实现无限循环轮播图效果
- 原生JS实现"旋转木马"效果的图片轮播插件
- 原生js实现网易轮播图效果
- js实现适合新闻类图片的轮播效果
- js日常小练习:实现图片的轮播效果
- js实现点击左右按钮轮播图片效果实例
- 原生js和jquery实现图片轮播特效
- 原生javascript实现图片轮播效果——续
- 原生JS实现拖拽图片效果
- 原生js实现图片轮播特效