今天,带来的是一个图片的轮播滚动效果!
先来看一下效果展示:亲,请点击这里
原理很简单,设置一个定时器,使图片列表在每隔一段时间后滚动一次。而循环效果,就是在每一滚动的时候,将第一张图片放到最后一张的后面,详细请看代码。
HTML结构代码如下:
<div class="content">
<div class="box">
/*滚动的盒子*/
<ul id="scroll_box">
<li><img src="../Images/1.jpg" alt=""/></li>
<li><img src="../Images/2.jpg" alt=""/></li>
<li><img src="../Images/3.jpg" alt=""/></li>
<li><img src="../Images/4.jpg" alt=""/></li>
<li><img src="../Images/5.jpg" alt=""/></li>
<li><img src="../Images/6.jpg" alt=""/></li>
<li><img src="../Images/7.jpg" alt=""/></li>
<li><img src="../Images/8.jpg" alt=""/></li>
<li><img src="../Images/9.jpg" alt=""/></li>
<li><img src="../Images/10.jpg" alt=""/></li>
</ul>
</div>
</div>
样式代码:
<style type="text/css">
*{margin:0px;padding:0px;}
.content{width:800px;margin:30px auto;height:200px;}
.box{width:800px;overflow:hidden;height:200px;}
#scroll_box{list-style:none;}
#scroll_box li{width:200px;float:left;height:200px;}
#scroll_box li img{width:200px;height:200px;}
</style>
JS脚本代码:
<script type="text/javascript">
var length = $("#scroll_box li").length;
var liWidth = $("#scroll_box li").outerWidth(true);
var boxWidth = $(".box").outerWidth(true);
var showLength = Math.ceil(boxWidth / liWidth); //显示图片个数
var speed = 1000; //滚动速度
var time = 3000; //滚动间隔
var scrollIndex = 1; //每次滚动的图片数量
$("#scroll_box").css("width",length * liWidth); //设置滚动盒子宽度
function scroll(){
$("#scroll_box").stop().animate({"margin-left":"-"+scrollIndex*liWidth+"px"},speed,function(){
$("#scroll_box").css("margin-left",0);
for(var i =0;i < scrollIndex;i++){
//将第一张图片放到最后一张图片后面
$("#scroll_box").find("li").last().after($("#scroll_box").find("li").first());
}
});
}
setInterval(scroll,time);
</script>
其中需要注意的是,在脚本中,我们需要一个for循环来控制图片的换位操作。这里的循环次数取决于我们每次滚动图片的数量。读者可以亲自尝试。
享受代码,享受生活。网页效果,每日一更。