DOCTYPE
html
>
<
html
lang=
"en"
>
<
head
>
<
meta
charset=
"UTF-8"
>
<
title
>Document
title
>
<
style
>
*{
margin:
0;
padding:
0;}
ul,li{
list-style:
none}
#banner{
width:
800px;
height:
400px;
margin:
40px
auto;
position:
relative;
overflow:
hidden;}
#banner>
ul{
position:
absolute;}
#banner>
ul>
li{
float:
left}
#banner>
ul>
li>
img{
width:
800px;
height:
400px;}
#direction>
a{
position:
absolute;
width:
80px;
height:
40px;
background:
rgba(
0,
0,
0,
.6);
color:
#fff;
text-decoration:
none;
font-size:
30px;
top:
180px;
text-align:
center}
#direction>
a:nth-child(
2
){
right:
0;}
#btn{
position:
absolute;
bottom:
10px;
left:
42%;}
#btn>
a{
float:
left;
margin-left:
5px;
width:
20px;
height:
20px;
background:
#fff;
border-radius:
50%}
#btn>
.active{
background:
#c33;}
<
/
style
>
head
>
<
body
>
<
div
id=
"banner"
>
<
ul
>
<
li
><
img
src=
"images/1.jpg"
>
li
>
<
li
><
img
src=
"images/2.jpg"
>
li
>
<
li
><
img
src=
"images/3.jpg"
>
li
>
<
li
><
img
src=
"images/4.jpg"
>
li
>
ul
>
<
div
id=
"direction"
>
<
a
href=
"##"
>
<
a
>
<
a
href=
"##"
>>
a
>
div
>
<
div
id=
"btn"
>
<
a
href=
"##"
class=
"active"
>
a
>
<
a
href=
"##"
>
a
>
<
a
href=
"##"
>
a
>
<
a
href=
"##"
>
a
>
div
>
div
>
body
>
html
>
<
script
src=
"pool.js"
>
<
/
script
>
<
script
>
//获取元素
/*var banner = document.getElementById("banner");
//获取ul因为TagName获得的是一个数组,所以获得第0个
var oUl = banner.getElementsByTagName("ul")[0];
var aLi = banner.getElementsByTagName("li");
var aBtn =document.querySelectorAll("#btn>a");
var iW = aLi[0].offsetWidth;
var li = aLi[0].cloneNode(true);
var iNow = 0;
var timer = null;
//先插入克隆的元素在去设置ul的宽度
oUl.appendChild(li);
oUl.style.width = aLi.length*iW+"px";
//移入的时候轮播图停止
banner.onmouseover = function(){
clearInterval(timer)
}
//移除的时候轮播图继续运行
banner.onmouseout = function(){
autoPlay()
}
//当做完自动轮播的时候要先去做移入的时候轮播停止 移除的时候轮播继续运行
autoPlay()
//自动轮播
function autoPlay(){
timer = setInterval(function(){
if(iNow == aLi.length-1){
iNow = 1;
oUl.style.left = 0;
}else{
iNow++;
}
toImg()
},3000)
}
//运动的原理
function toImg(){
move(oUl,{left:-iNow*iW})
for(var i=0;i
aBtn[i].className = "";
}
aBtn[iNow>3?0:iNow].className = "active";
}
*/
function
Banner(){
this.
banner =
document.
getElementById(
"banner");
this.
oUl =
this.
banner.
getElementsByTagName(
"ul")[
0];
this.
aLi =
this.
banner.
getElementsByTagName(
"li");
this.
iW =
this.
aLi[
0].
offsetWidth;
this.
li =
this.
aLi[
0].
cloneNode(
true);
this.
iNow =
0;
this.
timer =
null;
this.
init();
}
Banner.
prototype.
init =
function(){
this.
oUl.
appendChild(
this.
li);
this.
oUl.
style.
width =
this.
aLi.
length*
this.
iW+
"px";
this.
hover();
this.
autoPlay();
}
Banner.
prototype.
hover =
function(){
var
_this =
this;
this.
banner.
onmouseover =
function(){
clearInterval(
_this.
timer)
}
this.
banner.
onmouseout =
function(){
_this.
autoPlay()
}
}
Banner.
prototype.
autoPlay =
function(){
var
_this =
this;
this.
timer =
setInterval(
function(){
if(
_this.
iNow ==
_this.
aLi.
length-
1){
_this.
iNow =
1;
_this.
oUl.
style.
left =
0;
}
else{
_this.
iNow++;
}
_this.
toImg()
},
3000)
}
Banner.
prototype.
toImg =
function(){
move(
this.
oUl,{
left:-
this.
iNow*
this.
iW})
}
var
banner =
new
Banner();
<
/
script
>