用jQuery实现轮播banner

在前端发展迅速的今天,很多网站现在都有非常绚丽和时尚的banner图,下面我和大家分享一下运用前两天博客分享的jQuery标签实现动态轮播banner图。

对于初学者来说jQuery的确比JScript代码简洁很多,思路也更为清晰和方便,不得不说在获取元素方面jQuery真的很便捷。

首先不论用JScript或jQuery我们都要先明确思路怎样实现这个效果图,这样组织起来代码就不用来回修改,下面是我个人的文字思路:
定义变量:
轮播ul的li;
轮播图li的length;
定义新变量index=0;
定义函数letsShow(){
轮播的li第eq个.fadeIn(300).兄弟元素.fadeOut(300);
nav的li第eq个.add(‘class名’).兄弟元素.removeClass();
设置动画animate{样式,速度,回调函数
}
还原最初动画
}
定义函数carousel(){
index++;
如果(index等于li的length){让index==0}
调用letsShow()函数
}
letsShow()
setInterval(carousel,2500);
以下是我的html结构:
<div id="main">
<div class="pic">
<ul class="list">
<li style="background:url(img/bg1.jpg) no-repeat center">
<img class="img1" src="img/con1.png">
<img class="img2" src="img/text1.png">
</li>
<li style="background:url(img/bg2.jpg) no-repeat center">
<img class="img1" src="img/con2.png">
<img class="img2" src="img/text2.png">
</li>
<li style="background:url(img/bg3.jpg) no-repeat center">
<img class="img1" src="img/con3.png">
<img class="img2" src="img/text3.png">
</li>
<li style="background:url(img/bg4.jpg) no-repeat center">
<img class="img1" src="img/con4.png">
<img class="img2" src="img/text4.png">
</li>
<li style="background:url(img/bg5.jpg) no-repeat center">
<img class="img1" src="img/con5.png">
<img class="img2" src="img/text5.png">
</li>
</ul>
<ul class="nav">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>

css样式:`*{
margin:0;
padding:0;
list-style:none;
}
body{
background:#ccc
}

main{

width:100%;
margin:50px auto
}   

main .pic{

width:760px; 
height:300px;
position:relative;
margin:0 auto;
overflow:hidden;
}

main .pic .list li{

width:760px; 
height:300px;
position:relative;
}

main .pic .list li .img1{

position:absolute;
top:0;
left:-20px;  
display:none;
}

main .pic .list li .img2{

position:absolute;
top:0;
left:-760px;  
}   
position:absolute;
right:20px;
bottom:20px;
}
width:10px;
height:10px;
border:1px solid #fff;
float:left;
margin-left:5px;
cursor:pointer
}
background:#fff;
}`

下面是jQuery代码,在写代码前伙伴们不要忘记调用jQuery类库:`(document).ready(function() {  
    var picLi=
(‘.pic .list li’);
var picNum=picLi.size();
var index=0;
function letsShow(){
picLi.eq(index).fadeIn(300).siblings().fadeOut(300);
$(‘.nav li’).eq(index).addClass(‘select’).siblings().removeClass(‘select’);
picLi.eq(index).find(‘.img2’).animate({left:’0px’},1000,function(){
picLi.eq(index).find(‘.img1’).css({‘display’:’block’}).animate({left:’0px’},1000)
})
picLi.eq(index).prev().find(‘.img2’).css({left:’-760px’}) //
picLi.eq(index).prev().find(‘.img1’).css({left:’-20px’,display:’none’})//
}
function carousel(){
index++;
if(index==picNum){
index=0;
}
letsShow();
}
letsShow();
var id =setInterval(carousel,2500)

$('.nav li').click(function(){
    clearInterval(id);
    var i = $(this).index();
    index = i;

    letsShow();
    id = setInterval(carousel, 2500);
    })

});`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值