您的位置:首页 > Web前端 > JQuery

用jQuery实现轮播banner

2016-05-13 21:52 736 查看
在前端发展迅速的今天,很多网站现在都有非常绚丽和时尚的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;
}


main .nav{

position:absolute;
right:20px;
bottom:20px;
}


main .nav li{

width:10px;
height:10px;
border:1px solid #fff;
float:left;
margin-left:5px;
cursor:pointer
}


main .nav li.select{

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);
})

});`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: