码迷,mamicode.com
首页 > 其他好文 > 详细

轮播效果的制作

时间:2016-04-24 15:48:55      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

首先我们先来弄清楚思路:

第一步:我们想让图片动起来(此时需要一个计时器来控制每隔多少秒切换图片),我们要思考通过什么方式来切换图片,无非就是每隔一段时间图片的地址发生了变化

第二步:此时我们需要将按钮与图片绑定起来

第三步:我们需要给图片添加鼠标移入和移出的事件。

下面我们来书写代码

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>轮播</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.slider{
height: 454px;
width: 730px;
position: relative;
}
ul{
overflow: hidden;
position: absolute;
top: 400px;
left: 250px;
}
li{
width: 30px;
height: 30px;
float: left;
border-radius: 30px;
text-align: center;
line-height: 30px;
vertical-align: middle;
list-style: none;
border: 1px solid red;
margin-right: 10px;
}
.changeBtn{
background-color: red;
}
</style>
</head>
<body>
<div class="slider">
<img src="../images/1.jpg" id="sliderImg"/>
<ul>
<li class="changeBtn">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<script>
var imgArray=["../images/1.jpg","../images/2.jpg","../images/3.jpg","../images/4.jpg"];
var btn=document.getElementsByTagName("li");
var sliderImg=document.getElementById("sliderImg");
var imgIndex=0;
var timer;
var btnIndex=0;
 //让图片动起来,并将按钮与图片绑定
       timer=window.setInterval(function(){
imgIndex++;
if(imgIndex<imgArray.length){
sliderImg.src=imgArray[imgIndex];
}else{
imgIndex=0;
sliderImg.src=imgArray[imgIndex];
}

for(var i= 0;i<btn.length;i++){
if(i==imgIndex){
btn[i].className="changeBtn";
}else{
btn[i].className="";
}

}
},1500);

  //给按钮绑定鼠标移入、移出的事件,主要此时需要用到立即执行函数,不然的话当函数开始执行时此时j已经变成了4,从而无法访问到按钮。
for(var j=0;j<btn.length;j++ ){
!function(j){
btn[j].onmouseover=function(){
window.clearInterval(timer);
sliderImg.src=imgArray[j];
for(var b= 0;b<btn.length;b++){
if(b==j){
btn[b].className="changeBtn";
}else{
btn[b].className="";
}
}

};
btn[j].onmouseout=function(){
imgIndex=j;
timer=window.setInterval(function(){
imgIndex++;
if(imgIndex<imgArray.length){
sliderImg.src=imgArray[imgIndex];
}else{
imgIndex=0;
sliderImg.src=imgArray[imgIndex];
}

for(var i= 0;i<btn.length;i++){
if(i==imgIndex){
btn[i].className="changeBtn";
}else{
btn[i].className="";
}

}
},1500);
}
       }(j);
        }
</script>
</body>
</html>

轮播效果的制作

标签:

原文地址:http://www.cnblogs.com/pengwanxing/p/5427029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!