jQuery實(shí)現(xiàn)圖片輪播效果代碼
整理以前用jQuery實(shí)現(xiàn)的圖片輪播效果。
1. 不做操作時(shí),自動(dòng)輪播
2. 鼠標(biāo)懸浮在圖片上時(shí),停止自動(dòng)輪播,隱藏在圖片左右的箭頭會(huì)顯示出來
3. 手動(dòng)輪播1:鼠標(biāo)指向圖片底部的小標(biāo)按鈕,可以切換對應(yīng)的圖片
4. 手動(dòng)輪播2:點(diǎn)擊左右箭頭也可以切換圖片
效果圖:(PS:用軟件捕捉的,不太會(huì)弄,感覺圖片都失真了)

下面是代碼區(qū)域:
**inde.html部分代碼**
<div class="box"> <ul class="img"> <li class="photo"><a href="#"><img src="images/1.jpg" alt=""/></a></li> <li class="photo"><a href="#"><img src="images/2.jpg" alt=""/></a></li> <li class="photo"><a href="#"><img src="images/3.jpg" alt=""/></a></li> <li class="photo"><a href="#"><img src="images/4.jpg" alt=""/></a></li> <li class="photo"><a href="#"><img src="images/5.jpg" alt=""/></a></li> <li class="photo"><a href="#"><img src="images/6.jpg" alt=""/></a></li> <li class="photo"><a href="#"><img src="images/7.jpg" alt=""/></a></li> </ul> <div> <span class="jt" id="jtLeft"><</span> <span class="jt" id="jtRight">></span> </div> <div class="numList"></div> </div>
**reset.css代碼**
.box{
padding:0;
width: 800px;
height: 500px;
margin: 0 auto;
position:relative;
}
ul.img{
padding:0;
margin: 0 auto;
}
ul.img .photo{
list-style: none;
position: absolute;
display: none;
}
img{
width: 800px;
height: 500px;
}
.box .img .active{
display: block;
}
.jt{
width: 40px;
height: 50px;
background-color: rgba(0,0,0,0.5);
position: absolute;
top:50%;
margin-top: -25px;
line-height: 50px;
font-size: 30px;
color: white;
font-weight: 800;
text-align: center;
display: none;
}
#jtRight{
right: 0;
}
.numList{
font-size: 0;
position: absolute;
bottom:10px;
left: 50%;
margin-left:-70px;
}
.numList .num{
background-color: black;
width: 20px;
height: 20px;
border-radius: 50%;
color: white;
text-align: center;
font-size: 14px;
display: inline-block;
}
.numList .check{
background-color: red;
}
**main.js代碼**
$(function(){
/*定義全局變量,用來記錄表示顯示的圖片的下標(biāo)*/
var i=0;
/*按圖片的數(shù)量添加下標(biāo)*/
var size=$(".photo").size();
for (var j=1;j<=size;j++){
var span=$("<span class='num'>"+j+"</span>");
$(".numList").append(span);
}
/*默認(rèn)選中第一個(gè)下標(biāo)和顯示第一張圖片*/
$(".photo:eq(0)").addClass("active");
$(".num:eq(0)").addClass("check");
/*手動(dòng)輪播*/
var HandleImgChange=function(){
$(".num").each(function(){
$(this).mouseover(function(){
$(this).siblings().removeClass("check");
$(this).addClass("check");
/*獲得選擇的下標(biāo)值*/
i=$(this).index();
$(".photo").hide();
$(".photo").eq(i).show();
});
});
};
/*顯示下一張圖*/
var move=function(){
i++;
if(i>size-1){
i=0;
}
$(".num").eq(i).addClass("check").siblings().removeClass("check");
$(".photo").eq(i).show().siblings().hide();
};
/*自動(dòng)輪播*/
var AutoImgChange=function(){
var t=setInterval(move,1000);
$(".box").hover(function(){
$(this).css({"cursor":"pointer"});
$(".jt").css({"display":"block"});
clearInterval(t);
},function(){
$(".jt").css({"display":"none"});
t=setInterval(move,1000);
})
};
/*設(shè)置左右箭頭點(diǎn)擊事件*/
var jtL=function(){
$("#jtLeft").click(function(){
i--;
if(i<0){
i=size-1;
}
$(".num").eq(i).addClass("check").siblings().removeClass("check");
$(".photo").eq(i).show().siblings().hide();
})
};
var jtR=function(){
$("#jtRight").click(function(){
move();
})
};
HandleImgChange();
AutoImgChange();
jtR();
jtL();
});
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery中filter(),not(),split()使用方法
jQuery下一些查找過濾功能filter(),not(),split()用法,可以讓jquery更容易的操作控制頁面元素。2010-07-07
基于jQuery的圖片大小自動(dòng)適應(yīng)實(shí)現(xiàn)代碼
這個(gè)和以前弄的圖片遠(yuǎn)處放大有許多相同的地方,比如圖片預(yù)加載、有限容器顯示無限大圖片。2010-11-11
jQuery+html5實(shí)現(xiàn)div彈出層并遮罩背景
今天在項(xiàng)目中用到了一個(gè)很好的div彈出層效果,jQuery+html5實(shí)現(xiàn)div彈出層并遮罩背景,效果非常棒,拿出來和大家一起分享!2015-04-04
基于jquery實(shí)現(xiàn)手風(fēng)琴效果
這篇文章主要為大家詳細(xì)介紹了基于jquery實(shí)現(xiàn)手風(fēng)琴效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
jQuery maxlength文本字?jǐn)?shù)限制插件
相信大家對twitter類的微博客都不陌生,作為一句話博客其字?jǐn)?shù)即時(shí)提示效果設(shè)計(jì)的非常人性化.2010-04-04
jQuery EasyUI學(xué)習(xí)教程之datagrid點(diǎn)擊列表頭排序
這篇文章主要介紹了jQuery EasyUI學(xué)習(xí)教程之datagrid點(diǎn)擊列表頭排序的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
jquery用offset()方法獲得元素的xy坐標(biāo)
jquery 獲得元素的 xy坐標(biāo),用offset()方法,body屬性設(shè)置margin :0;padding:0;,需要的朋友可以參考下2014-09-09

