JS實(shí)現(xiàn)左右無(wú)縫輪播圖代碼
廢話不多說(shuō)了,直接給大家貼代碼了。
無(wú)縫輪播圖:
<title>無(wú)縫輪播圖</title>
<style>
*{margin: 0;padding:0; }
ul{list-style: none;}
.banner{width: 600px;height: 300px;border: 2px solid #ccc;margin: 100px auto;position: relative;overflow: hidden;}
.img{position: absolute;top: 0;left: 0}
.img li{float: left;}
.num{position: absolute;bottom: 10px;width: 100%;text-align: center;font-size: 0;}
.num li{width: 10px;height: 10px;background:rgba(0,0,0,0.5);display: block;border-radius: 100%;display: inline-block;margin: 0 5px;cursor: pointer;}
.btn{display: none;}
.btn span{display: block;width: 50px;height: 100px;background: rgba(0,0,0,0.6);color: #fff;font-size: 40px;line-height: 100px;text-align: center;cursor:pointer;}
.btn .prev{position: absolute;left: 0;top: 50%;margin-top: -50px;}
.btn .next{position: absolute;right: 0;top: 50%;margin-top: -50px;}
.num .active{background-color: #fff;}
</style>
<script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
<div class="banner">
<ul class="img">
<li><a href="#"><img src="img/1.jpg" alt="第1張圖片"></a></li>
<li><a href="#"><img src="img/2.jpg" alt="第2張圖片"></a></li>
<li><a href="#"><img src="img/3.jpg" alt="第3張圖片"></a></li>
<li><a href="#"><img src="img/4.jpg" alt="第4張圖片"></a></li>
<li><a href="#"><img src="img/5.jpg" alt="第5張圖片"></a></li>
</ul>
<ul class="num"></ul> //
<div class="btn">
<span class="prev"><</span>
<span class="next">></span>
</div>
</div>
<script>
$(function(){
var i=0;
var timer=null;
for (var j = 0; j < $('.img li').length; j++) { //創(chuàng)建圓點(diǎn)
$('.num').append('<li></li>')
}
$('.num li').first().addClass('active'); //給第一個(gè)圓點(diǎn)添加樣式
var firstimg=$('.img li').first().clone(); //復(fù)制第一張圖片
$('.img').append(firstimg).width($('.img li').length*($('.img img').width())); //將第一張圖片放到最后一張圖片后,設(shè)置ul的寬度為圖片張數(shù)*圖片寬度
// 下一個(gè)按鈕
$('.next').click(function(){
i++;
if (i==$('.img li').length) {
i=1; //這里不是i=0
$('.img').css({left:0}); //保證無(wú)縫輪播,設(shè)置left值
};
$('.img').stop().animate({left:-i*600},300);
if (i==$('.img li').length-1) { //設(shè)置小圓點(diǎn)指示
$('.num li').eq(0).addClass('active').siblings().removeClass('active');
}else{
$('.num li').eq(i).addClass('active').siblings().removeClass('active');
}
})
// 上一個(gè)按鈕
$('.prev').click(function(){
i--;
if (i==-1) {
i=$('.img li').length-2;
$('.img').css({left:-($('.img li').length-1)*600});
}
$('.img').stop().animate({left:-i*600},300);
$('.num li').eq(i).addClass('active').siblings().removeClass('active');
})
//設(shè)置按鈕的顯示和隱藏
$('.banner').hover(function(){
$('.btn').show();
},function(){
$('.btn').hide();
})
//鼠標(biāo)劃入圓點(diǎn)
$('.num li').mouseover(function(){
var _index=$(this).index();
$('.img').stop().animate({left:-_index*600},150);
$('.num li').eq(_index).addClass('active').siblings().removeClass('active');
})
//定時(shí)器自動(dòng)播放
timer=setInterval(function(){
i++;
if (i==$('.img li').length) {
i=1;
$('.img').css({left:0});
};
$('.img').stop().animate({left:-i*600},300);
if (i==$('.img li').length-1) {
$('.num li').eq(0).addClass('active').siblings().removeClass('active');
}else{
$('.num li').eq(i).addClass('active').siblings().removeClass('active');
}
},1000)
//鼠標(biāo)移入,暫停自動(dòng)播放,移出,開(kāi)始自動(dòng)播放
$('.banner').hover(function(){
clearInterval(timer);
},function(){
timer=setInterval(function(){
i++;
if (i==$('.img li').length) {
i=1;
$('.img').css({left:0});
};
$('.img').stop().animate({left:-i*600},300);
if (i==$('.img li').length-1) {
$('.num li').eq(0).addClass('active').siblings().removeClass('active');
}else{
$('.num li').eq(i).addClass('active').siblings().removeClass('active');
}
},1000)
})
})
</script>
以上代碼是使用js實(shí)現(xiàn)的無(wú)縫輪播效果,代碼比較簡(jiǎn)單,所以沒(méi)有給大家注釋,如果有疑問(wèn)歡迎給我留言。
- 原生js實(shí)現(xiàn)輪播圖的示例代碼
- js實(shí)現(xiàn)輪播圖的完整代碼
- js實(shí)現(xiàn)支持手機(jī)滑動(dòng)切換的輪播圖片效果實(shí)例
- JS輪播圖實(shí)現(xiàn)簡(jiǎn)單代碼
- js實(shí)現(xiàn)點(diǎn)擊左右按鈕輪播圖片效果實(shí)例
- 使用html+js+css 實(shí)現(xiàn)頁(yè)面輪播圖效果(實(shí)例講解)
- js實(shí)現(xiàn)從左向右滑動(dòng)式輪播圖效果
- JS實(shí)現(xiàn)自動(dòng)輪播圖效果(自適應(yīng)屏幕寬度+手機(jī)觸屏滑動(dòng))
- 原生js實(shí)現(xiàn)無(wú)限循環(huán)輪播圖效果
- JS原生手寫(xiě)輪播圖效果
相關(guān)文章
微信小程序個(gè)人中心的列表控件實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序個(gè)人中心的列表控件實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
如何使用bootstrap框架 bootstrap入門必看!
如何使用bootstrap?這篇文章就是告訴大家如何使用bootstrap框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
完美實(shí)現(xiàn)js焦點(diǎn)輪播效果(一)
這篇文章主要為大家詳細(xì)介紹了完美實(shí)現(xiàn)js焦點(diǎn)輪播效果的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
js利用prototype調(diào)用Array的slice方法示例
這篇文章主要介紹了如何利用js的prototype調(diào)用Array的slice方法,需要的朋友可以參考下2014-06-06
解決layer.open后laydate失效的問(wèn)題
今天小編就為大家分享一篇解決layer.open后laydate失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
跟我學(xué)習(xí)javascript的this關(guān)鍵字
跟我學(xué)習(xí)javascript的this關(guān)鍵字,this是動(dòng)態(tài)綁定,或稱為運(yùn)行期綁定的,這就導(dǎo)致 JavaScript中的this關(guān)鍵字有能力具備多重含義,帶來(lái)靈活性的同時(shí),也為初學(xué)者帶來(lái)不少困惑2015-11-11

