abstract:本文主要分享了jQuery實(shí)現(xiàn)大圖輪播的示例代碼。css樣式:*{ margin: 0; padding: 0; } ul{ list-style:none; } .slideShow{ width: 620px; height: 700px; /*其實(shí)就是圖片的高度*/ bo
本文主要分享了jQuery實(shí)現(xiàn)大圖輪播的示例代碼。
css樣式:
*{ margin: 0; padding: 0; } ul{ list-style:none; } .slideShow{ width: 620px; height: 700px; /*其實(shí)就是圖片的高度*/ border: 1px #eeeeee solid; margin: 100px auto; position: relative; overflow: hidden; /*此處需要將溢出框架的圖片部分隱藏*/ } .slideShow ul{ width: 2500px; position: relative; /*此處需注意relative : 對(duì)象不可層疊,但將依據(jù)left,right,top,bottom等屬性在正常文檔流中偏移位置,如果沒(méi)有這個(gè)屬性,圖片將不可左右移動(dòng)*/ } .slideShow ul li{ float: left; /*讓四張圖片左浮動(dòng),形成并排的橫著布局,方便點(diǎn)擊按鈕時(shí)的左移動(dòng)*/ width: 620px; } .slideShow .showNav{ /*用絕對(duì)定位給數(shù)字按鈕進(jìn)行布局*/ position: absolute; right: 10px; bottom: 5px; text-align:center; font-size: 12px; line-height: 20px; } .slideShow .showNav span{ cursor: pointer; display: block; float: left; width: 20px; height: 20px; background: #ff5a28; margin-left: 2px; color: #fff; } .slideShow .showNav .active{ background: #b63e1a; }
js代碼規(guī)范:
<script src="../../../jQuery/js/jquery-2.1.4.js"></script> <script type="text/javascript"> $(document).ready(function(){ var slideShow=$(".slideShow"), //獲取最外層框架的名稱 ul=slideShow.find("ul"), showNumber=slideShow.find(".showNav span"), //獲取按鈕 oneWidth=slideShow.find("ul li").eq(0).width(); //獲取每個(gè)圖片的寬度 var timer=null; //定時(shí)器返回值,主要用于關(guān)閉定時(shí)器 var iNow=0; //iNow為正在展示的圖片索引值,當(dāng)用戶打開(kāi)網(wǎng)頁(yè)時(shí)首先顯示第一張圖,即索引值為0 showNumber.on("click",function(){ //為每個(gè)按鈕綁定一個(gè)點(diǎn)擊事件 $(this).addClass("active").siblings().removeClass("active"); //按鈕點(diǎn)擊時(shí)為這個(gè)按鈕添加高亮狀態(tài),并且將其他按鈕高亮狀態(tài)去掉 var index=$(this).index(); //獲取哪個(gè)按鈕被點(diǎn)擊,也就是找到被點(diǎn)擊按鈕的索引值 iNow=index; ul.animate({ "left":-oneWidth*iNow, //注意此處用到left屬性,所以u(píng)l的樣式里面需要設(shè)置position: relative; 讓ul左移N個(gè)圖片大小的寬度,N根據(jù)被點(diǎn)擊的按鈕索引值iNOWx確定 }) }); function autoplay(){ timer=setInterval(function(){ //打開(kāi)定時(shí)器 iNow++; //讓圖片的索引值次序加1,這樣就可以實(shí)現(xiàn)順序輪播圖片 if(iNow>showNumber.length-1){ //當(dāng)?shù)竭_(dá)最后一張圖的時(shí)候,讓iNow賦值為第一張圖的索引值,輪播效果跳轉(zhuǎn)到第一張圖重新開(kāi)始 iNow=0; } showNumber.eq(iNow).trigger("click"); //模擬觸發(fā)數(shù)字按鈕的click },2000); //2000為輪播的時(shí)間 } autoplay(); slideShow.hover( function(){clearInterval(timer);},autoplay); 另外注意setInterval的用法比較關(guān)鍵。 }) </script>
主體代碼:
<body> <div class="slideShow"> <!--圖片布局開(kāi)始--> <ul> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/111.jpg"/></a></li> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/112.jpg" /></a></li> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/113.jpg" /></a></li> <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/114.jpg" /></a></li> </ul> <!--圖片布局結(jié)束--> <!--按鈕布局開(kāi)始--> <div class="showNav"> <span class="active">1</span> <span>2</span> <span>3</span> <span>4</span> </div> <!--按鈕布局結(jié)束--> </div> </body>
更多關(guān)于jQuery實(shí)現(xiàn)大圖輪播請(qǐng)關(guān)注PHP中文網(wǎng)(m.miracleart.cn)其他文章!