| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>轮播图</title> | |
| <style> | |
| * { | |
| margin:0; | |
| padding:0; | |
| } | |
| a{ | |
| text-decoration: none; | |
| } | |
| .container { | |
| position: relative; | |
| width: 600px; | |
| height: 400px; | |
| margin:100px auto 0 auto; | |
| box-shadow: 0 0 5px green; | |
| overflow: hidden; | |
| } | |
| .container .wrap { | |
| position: absolute; | |
| width: 4200px; | |
| height: 400px; | |
| z-index: 1; | |
| } | |
| .container .wrap img { | |
| float: left; | |
| width: 600px; | |
| height: 400px; | |
| } | |
| .container .buttons { | |
| position: absolute; | |
| right: 5px; | |
| bottom:40px; | |
| width: 150px; | |
| height: 10px; | |
| z-index: 2; | |
| } | |
| .container .buttons span { | |
| margin-left: 5px; | |
| display: inline-block; | |
| width: 20px; | |
| height: 20px; | |
| border-radius: 50%; | |
| background-color: green; | |
| text-align: center; | |
| color:white; | |
| cursor: pointer; | |
| } | |
| .container .buttons span.on{ | |
| background-color: red; | |
| } | |
| .container .arrow { | |
| position: absolute; | |
| top: 35%; | |
| color: green; | |
| padding:0px 14px; | |
| border-radius: 50%; | |
| font-size: 50px; | |
| z-index: 2; | |
| display: none; | |
| } | |
| .container .arrow_left { | |
| left: 10px; | |
| } | |
| .container .arrow_right { | |
| right: 10px; | |
| } | |
| .container:hover .arrow { | |
| display: block; | |
| } | |
| .container .arrow:hover { | |
| background-color: rgba(0,0,0,0.2); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="container"> | |
| <div class="wrap" style="left: -600px;"> | |
| <img src="http://sc.jb51.net/uploads/allimg/130112/2-1301122130215H.jpg" alt="5"> | |
| <img src="http://img.sc115.com/uploads/allimg/110307/20110307114459136.jpg" alt="1"> | |
| <img src="http://img5.3lian.com/gaoqing/01/05/075.jpg" alt="2"> | |
| <img src="http://h.hiphotos.baidu.com/lvpics/w=600/sign=6570942cbf12c8fcb4f3f5cdcc0292b4/d01373f082025aafb3f498c7fdedab64024f1af3.jpg" alt="3"> | |
| <img src="http://f.hiphotos.baidu.com/lvpics/w=600/sign=4351b6aa8694a4c20a23e42b3ef51bac/024f78f0f736afc3ece868c0b219ebc4b64512aa.jpg" alt="4"> | |
| <img src="http://sc.jb51.net/uploads/allimg/130112/2-1301122130215H.jpg" alt="5"> | |
| <img src="http://img.sc115.com/uploads/allimg/110307/20110307114459136.jpg" alt="1"> | |
| </div> | |
| <div class="buttons"> | |
| <span class="on">1</span> | |
| <span>2</span> | |
| <span>3</span> | |
| <span>4</span> | |
| <span>5</span> | |
| </div> | |
| <a href="javascript:;" class="arrow arrow_left"><</a> | |
| <a href="javascript:;" class="arrow arrow_right">></a> | |
| </div> | |
| <script> | |
| var wrap = document.querySelector(".wrap"); | |
| var next = document.querySelector(".arrow_right"); | |
| var prev = document.querySelector(".arrow_left"); | |
| next.onclick = function () { | |
| next_pic(); | |
| } | |
| prev.onclick = function () { | |
| prev_pic(); | |
| } | |
| function next_pic () { | |
| index++; | |
| if(index > 4){ | |
| index = 0; | |
| } | |
| showCurrentDot(); | |
| var newLeft; | |
| if(wrap.style.left === "-3600px"){ | |
| newLeft = -1200; | |
| }else{ | |
| newLeft = parseInt(wrap.style.left)-600; | |
| } | |
| wrap.style.left = newLeft + "px"; | |
| } | |
| function prev_pic () { | |
| index--; | |
| if(index < 0){ | |
| index = 4; | |
| } | |
| showCurrentDot(); | |
| var newLeft; | |
| if(wrap.style.left === "0px"){ | |
| newLeft = -2400; | |
| }else{ | |
| newLeft = parseInt(wrap.style.left)+600; | |
| } | |
| wrap.style.left = newLeft + "px"; | |
| } | |
| var timer = null; | |
| function autoPlay () { | |
| timer = setInterval(function () { | |
| next_pic(); | |
| },2000); | |
| } | |
| autoPlay(); | |
| var container = document.querySelector(".container"); | |
| container.onmouseenter = function () { | |
| clearInterval(timer); | |
| } | |
| container.onmouseleave = function () { | |
| autoPlay(); | |
| } | |
| var index = 0; | |
| var dots = document.getElementsByTagName("span"); | |
| function showCurrentDot () { | |
| for(var i = 0, len = dots.length; i < len; i++){ | |
| dots[i].className = ""; | |
| } | |
| dots[index].className = "on"; | |
| } | |
| for (var i = 0, len = dots.length; i < len; i++){ | |
| (function(i){ | |
| dots[i].onclick = function () { | |
| var dis = index - i; | |
| if(index == 4 && parseInt(wrap.style.left)!==-3000){ | |
| dis = dis - 5; | |
| } | |
| //和使用prev和next相同,在最开始的照片5和最终的照片1在使用时会出现问题,导致符号和位数的出错,做相应地处理即可 | |
| if(index == 0 && parseInt(wrap.style.left)!== -600){ | |
| dis = 5 + dis; | |
| } | |
| wrap.style.left = (parseInt(wrap.style.left) + dis * 600)+"px"; | |
| index = i; | |
| showCurrentDot(); | |
| } | |
| })(i); | |
| } | |
| </script> | |
| </body> | |
| </html> |
来源:https://www.cnblogs.com/ljj-233/p/11328731.html