<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
#content {
list-style-type: none;
}
#wrap {
600px;
height: 300px;
position: relative;
overflow: hidden;
top: 0;
left: 0;
cursor: pointer;
}
#middle {
9999px;
height: 300px;
position: absolute;
transition: all 1s;
left: -600px;
}
#middle img {
600px;
height: 300px;
float: left;
position: relative;
z-index: -1;
}
#last{
20px;
height: 40px;
text-align: center;
line-height: 40px;
color: white;
font-size: 20px;
background-color: rgba(0,0,0,0.5);
position: absolute;
z-index: 1;
top: 50%;
margin-top: -20px;
opacity: 0;
}
#next{
20px;
height: 40px;
text-align: center;
color: white;
font-size: 20px;
line-height: 40px;
background-color: rgba(0,0,0,0.5);
position: absolute;
z-index: 1;
right: 0;
top: 50%;
margin-top: -20px;
opacity: 0;
}
ul li {
15px;
height: 15px;
border-radius: 50%;
background-color: white;
margin-left: 5px;
float: left;
position: relative;
z-index: 1;
margin-top: 280px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="last"><</div>
<div id="next">></div>
<ul id="content">
<li style="margin-left: 250px; background-color: orange;"></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div id="middle">
<a href="#"><img src=""/></a>
<a href="#"><img src=""/></a>
<a href="#"><img src=""/></a>
<a href="#"><img src=""/></a>
<a href="#"><img src=""/></a>
<a href="#"><img src=""/></a>
<a href="#"><img src=""/></a>
</div>
</div>
</body>
<script type="text/javascript">
//获取元素
var lastfn = document.getElementById("last");
var nextfn = document.getElementById("next");
var imgs = document.getElementsByTagName("img");
var lis = document.querySelectorAll("#content li")
var middle = document.getElementById("middle");
var timer = null;
var wrap = document.getElementById("wrap");
//声明一个计数的量
var index = 1;
//获得图片的宽度
var imgwidth = imgs[0].offsetWidth;
//声明一个下一页函数
function nextPage() {
index ++;
if(index == 6) {
setTimeout(function() {
middle.style.transitionDuration = "0s";
middle.style.left ="-600px";
index = 1;
},1000)
}
for(var i = 0; i < lis.length; i ++) {
lis[i].style.backgroundColor = "";
}
if(index >= 6) {
lis[0].style.backgroundColor = "orange";
}else {
lis[index - 1].style.backgroundColor = "orange";
}
middle.style.transitionDuration = "1s";
middle.style.left = (-1) * index * imgwidth + "px";
}
//声明一个上一页函数
function lastPage() {
index --;
if(index == 0) {
setTimeout(function() {
middle.style.transitionDuration = "0s";
middle.style.left = "-3000px";
index = 5
},1000)
}
for(var i = 0; i <lis.length; i ++) {
lis[i].style.backgroundColor = "";
}
if(index <= 0) {
lis[4].style.backgroundColor = "orange";
}else {
lis[index - 1].style.backgroundColor = "orange";
}
middle.style.transitionDuration = "1s"
middle.style.left = (-1) * index * imgwidth + "px";
}
nextfn.onclick = function() {
nextPage();
timerFn();
}
lastfn.onclick = function() {
lastPage();
timerFn();
}
//按钮事件
for(var i = 0; i < lis.length; i ++) {
lis[i].num = i;
lis[i].onclick = function() {
timerFn();
for(var i = 0; i < lis.length; i ++) {
lis[i].style.backgroundColor = "";
}
index = this.num;
this.style.backgroundColor = "orange";
middle.style.left = (-1) * index * imgwidth - 600 + "px";
}
}
//封装一个定时器
function timerFn() {
clearInterval(timer);
timer = setInterval(function() {
nextPage();
},2000)
}
timerFn();
//鼠标移入停止
wrap.onmouseover = function() {
clearInterval(timer);
lastfn.style.opacity = 1;
nextfn.style.opacity = 1;
}
//鼠标移除开始
wrap.onmouseout = function() {
timerFn();
lastfn.style.opacity = 0;
nextfn.style.opacity = 0;
}
</script>
</html>