轮播图

来源:互联网 发布:mmd绅士动作数据 编辑:程序博客网 时间:2024/05/18 16:54

<!DOCTYPE html>

<html>

<head>

<metacharset="UTF-8">

<title>轮播图</title>

<styletype="text/css">

*{

margin:0;

padding:0;

}

#wrap{

width:350px;

height:200px;

margin:100pxauto;

border:3pxsolid red;

position:relative;

overflow:hidden;

}

#contentDiv{

/*width: 2100px;*/

height:200px;

position:absolute;

top:0;

left:0;

}

#contentDivimg{

width:350px;

height:200px;

float:left;

}

ul{

list-style:none;

position:absolute;

margin:0auto;

left:30%;

bottom:0;

}

li{

width:20px;

height:20px;

border-radius:50%;

background:white;

text-align: center;

line-height:20px;

float:left;

margin:0auto;

}

a{

color:black;

text-decoration:none;

}

#left,#right{

width:30px;

height:30px;

position:absolute;

top:50%;

background: black;

opacity:0.3;

color:white;

text-align: center;

line-height:30px;

}

#right{

right:0px;

}

.lis{

background: red;

}

</style>

</head>

<body>

<divid="wrap"

<divid="contentDiv">

<imgsrc="img/01.jpg" alt="" />

<imgsrc="img/02.jpg" alt="" />

<imgsrc="img/03.jpg" alt="" />

<imgsrc="img/04.jpg" alt="" />

<imgsrc="img/05.jpg" alt="" />

<imgsrc="img/06.jpg" alt="" />

<imgsrc="img/01.jpg" alt="" />

</div>

<!--图案上小点-->

<ul>

<liclass="lis"><ahref="###">1</a></li>

<li><ahref="###">2</a></li>

<li><ahref="###">3</a></li>

<li><ahref="###">4</a></li>

<li><ahref="###">5</a></li>

<li><ahref="###">6</a></li>

</ul>

<div id="left"><</div>

<div id="right">></div>

</div>

<scriptsrc="JS/tween.js"  type="text/javascript"></script>

<scripttype="text/javascript">

//内容div

varcontentDiv = document.getElementById("contentDiv");

// contentDiv.innerHTML += contentDiv.innerHTML;

//图片数组

varimgs = document.getElementsByTagName("img");

contentDiv.style.width= imgs[0].offsetWidth * imgs.length + "px";

//小球

varlis = document.getElementsByTagName("li");

//左按钮

varleftbtn = document.getElementById("left");

//右按钮

varrightbtn = document.getElementById("right");

/*

把换小球和换图片分别封装成两个函数

点击按钮时调用换小球与换图片的函数

当鼠标移入小球时调用换图片函数

当鼠标不在可视区域时,使用定时器调用换小球函数与换图片函数

当鼠标移入可视区域时,清除定时器

*/

//声明一个变量记录当前是第几张图片

varindex = 0;

//左边按钮点击事件

leftbtn.onclick= function(){

if(index== 0){

index= 6;

contentDiv.style.left= -imgs[0].offsetWidth * index + "px";

}

index--;

//换图片

scrollImg();

//换小球

changePoint();

}

//右边按钮点击事件

rightbtn.onclick= function(){

if(index== 6){

index= 0;

contentDiv.style.left= imgs[0].offsetWidth * index + "px";

}

index++;

scrollImg();

changePoint();

}

//换图片函数

functionscrollImg(){

vart = 0;

//offsetLeft 获取对应元素距离父级最左端的位置

varb = contentDiv.offsetLeft;

varc = index * -imgs[0].offsetWidth- b;

vard = 20;

functionmove(){

t++;

contentDiv.style.left= Tween.Linear(t, b, c, d) + "px";

if(t== d){

clearInterval(timer);

}

}

vartimer = setInterval(move, 20);

}

//换小球函数

functionchangePoint(){

for(vari = 0; i < lis.length; i++){

if(index== i){

lis[i].style.background= "red";

}

else{

lis[i].style.background= "white";

}

}

if(index== 6){

lis[0].style.background= "red";

}

}

//为每一个小球绑定鼠标移入事件

for(vari = 0; i < lis.length; i++){

lis[i].onmouseenter= (function(nowIndex){

returnfunction(){

index= nowIndex;

scrollImg();

changePoint();

}

})(i);

}

functionautoScrollImg(){

if(index== 6){

index= 0;

contentDiv.style.left= imgs[0].offsetWidth * index + "px";

}

index++;

scrollImg();

changePoint();

}

var timer2 = setInterval(autoScrollImg, 1000);

var wrap = document.getElementById("wrap");

wrap.onmouseenter= function(){

clearInterval(timer2);

}

wrap.onmouseleave= function(){

timer2 = setInterval(autoScrollImg, 1000);

}

</script>

</body>

</html>

0 0