欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery實現(xiàn)輪播圖及其原理詳解

 更新時間:2020年04月12日 11:40:03   作者:心晴安夏  
這篇文章主要為大家詳細介紹了jQuery實現(xiàn)輪播圖及其原理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了jQuery實現(xiàn)輪播圖及其原理的具體代碼,供大家參考,具體內(nèi)容如下

<!DOCTYPE html>
<html>

<head>
 <meta charset="utf-8" name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
 <title>JQuery輪播圖</title>
 <style>
 *{
 padding:0;
 margin:0;
 }
 .container{
 width:600px;
 height:400px;
 overflow: hidden;
 position:relative;
 margin:0 auto;
 }
 .list{
 width:3000px;
 height:400px;
 position:absolute;

 }
 .list>img{
 float:left;
 width:600px;
 height:400px;
 }
 .pointer{
 position:absolute;
 width:100px;
 bottom:20px;
 left:250px;
 }
 .pointer>span{
 cursor:pointer;
 display:inline-block;
 width:10px;
 height:10px;
 background: #7b7d80;
 border-radius:50%;
 border:1px solid #fff;
 }
 .pointer .on{
 background: #28a4c9;
 }
 .arrow{
 position:absolute;
 text-decoration:none;
 width:40px;
 height:40px;
 background: #727d8f;
 color:#fff;
 font-weight: bold;
 line-height:40px;
 text-align:center;
 top:180px;
 display:none;
 }
 .arrow:hover{
 background: #0f0f0f;
 }
 .left{
 left:0;
 }
 .right{
 right:0;
 }
 .container:hover .arrow{
 display:block;
 }
 </style>
</head>

<body>
 <div class="container">
 <div class="list" style="left:0px;">
 <!--<img src="../static/image/photo1.jpg" alt="5"/>-->
 <img src="../static/image/banner.jpg" alt="1"/>
 <img src="../static/image/slide1.jpg" alt="2"/>
 <img src="../static/image/slide1.jpg" alt="3"/>
 <img src="../static/image/slide1.jpg" alt="4"/>
 <img src="../static/image/photo1.jpg" alt="5"/>
 <!--<img src="../static/image/banner.jpg" alt="1"/>-->
 </div>
 <div class="pointer">
 <span index="1" class="on"></span>
 <span index="2"></span>
 <span index="3"></span>
 <span index="4"></span>
 <span index="5"></span>
 </div>
 <a href="#" rel="external nofollow" rel="external nofollow" class="arrow left">&gt;</a>
 <a href="#" rel="external nofollow" rel="external nofollow" class="arrow right">&lt;</a>
 </div>

 <script src="../static/js/jquery-3.2.1.min.js"></script>
 <script>
 var imgCount = 5;
 var index = 1;
 var intervalId;
 var buttonSpan = $('.pointer')[0].children;//htmlCollection 集合
 //自動輪播功能 使用定時器
 autoNextPage();
 function autoNextPage(){
 intervalId = setInterval(function(){
 nextPage(true);
 },3000);
 }
 //當(dāng)鼠標(biāo)移入 停止輪播
 $('.container').mouseover(function(){
 console.log('hah');
 clearInterval(intervalId);
 });
 // 當(dāng)鼠標(biāo)移出,開始輪播
 $('.container').mouseout(function(){
 autoNextPage();
 });
 //點擊下一頁 上一頁的功能
 $('.left').click(function(){
 nextPage(true);
 });
 $('.right').click(function(){
 nextPage(false);
 });
 //小圓點的相應(yīng)功能 事件委托
 clickButtons();
 function clickButtons(){
 var length = buttonSpan.length;
 for(var i=0;i<length;i++){
 buttonSpan[i].onclick = function(){
 $(buttonSpan[index-1]).removeClass('on');
 if($(this).attr('index')==1){
 index = 5;
 }else{
 index = $(this).attr('index')-1;
 }
 nextPage(true);

 };
 }
 }
 function nextPage(next){
 var targetLeft = 0;
 //當(dāng)前的圓點去掉on樣式
 $(buttonSpan[index-1]).removeClass('on');
 if(next){//往后走
 if(index == 5){//到最后一張,直接跳到第一張
 targetLeft = 0;
 index = 1;
 }else{
 index++;
 targetLeft = -600*(index-1);
 }

 }else{//往前走
 if(index == 1){//在第一張,直接跳到第五張
 index = 5;
 targetLeft = -600*(imgCount-1);
 }else{
 index--;
 targetLeft = -600*(index-1);
 }

 }
 $('.list').animate({left:targetLeft+'px'});
 //更新后的圓點加上樣式
 $(buttonSpan[index-1]).addClass('on');


 }


 </script>
</body>

</html>

效果圖:

原理:

頁面結(jié)構(gòu)方面:

將輪播圖容器設(shè)置成相對定位,寬度設(shè)置成圖片的寬度;容器中分為四部分:輪播的圖片;點擊的小按鈕;前一張;后一張

樣式方面:

  • 輪播圖容器為相對定位,寬度/高度設(shè)置成圖片的寬度/高度,設(shè)置overflow為hidden;
  • 容器中的每一部分都設(shè)置成絕對定位,放到相應(yīng)的位置;
  • 輪播圖片的容器寬度設(shè)置成所有圖片的寬度和,left開始先設(shè)置為0;
  • 每張圖片寬度一樣,都設(shè)成左浮動,左右圖片都在一行排列,所以輪播圖的實質(zhì)是裝有圖片的容器的移動,每次移動的距離為一張圖片的寬度,這樣每次就只顯示一張圖片;
  • 前一張/后一張設(shè)置成display為none,當(dāng)鼠標(biāo)移入總?cè)萜鲿r,再設(shè)置成display為block

功能方面:

自動輪播為一個定時循環(huán)機制setInteval,鼠標(biāo)移入,循環(huán)停止,移除循環(huán)繼續(xù);

精彩專題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • jQuery中remove()方法用法實例

    jQuery中remove()方法用法實例

    這篇文章主要介紹了jQuery中remove()方法用法,以三個不同的實例形式分別演示了remove()方法刪除元素的使用技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • Java框架SSH結(jié)合Easyui控件實現(xiàn)省市縣三級聯(lián)動示例解析

    Java框架SSH結(jié)合Easyui控件實現(xiàn)省市縣三級聯(lián)動示例解析

    這篇文章主要為大家詳細介紹了Java框架SSH結(jié)合Easyui控件實現(xiàn)省市縣三級聯(lián)動示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • jquery-easyui關(guān)閉tab自動切換到前一個tab

    jquery-easyui關(guān)閉tab自動切換到前一個tab

    考慮到用戶體驗,當(dāng)用戶關(guān)閉tab時,自動切換到前一個tab不至于讓用戶看到空的界面。
    2010-07-07
  • JQUERY設(shè)置IFRAME的SRC值的代碼

    JQUERY設(shè)置IFRAME的SRC值的代碼

    有時候需要設(shè)置iframe的src屬性,下面是基于jquery的實現(xiàn)代碼。
    2010-11-11
  • jquery數(shù)組之存放checkbox全選值示例代碼

    jquery數(shù)組之存放checkbox全選值示例代碼

    使用jquery數(shù)組可以存放checkbox全選值,下面有個不錯的示例,感興趣的朋友可以參考下
    2013-12-12
  • jquery 延遲執(zhí)行實例介紹

    jquery 延遲執(zhí)行實例介紹

    延遲執(zhí)行在某些特殊的情況下還是蠻有用的,實現(xiàn)的方法也很簡單,本文有個不錯的示例,有需要的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • 利用jquery正則表達式在頁面驗證url網(wǎng)址輸入是否正確

    利用jquery正則表達式在頁面驗證url網(wǎng)址輸入是否正確

    這篇文章主要介紹了關(guān)于利用jquery正則表達式在頁面驗證url網(wǎng)址輸入是否正確的相關(guān)資料,文中給出了完整的示例代碼,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • jQuery remove()過濾被刪除的元素(推薦)

    jQuery remove()過濾被刪除的元素(推薦)

    jQuery remove() 方法也可接受一個參數(shù),允許您對被刪元素進行過濾。下面通過實例代碼給大家介紹jQuery remove()過濾被刪除的元素,需要的的朋友參考下吧
    2017-07-07
  • 手寫簡單的jQuery雪花飄落效果實例

    手寫簡單的jQuery雪花飄落效果實例

    這篇文章主要給大家介紹了關(guān)于手寫簡單的jQuery雪花飄落的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Jquery UI震動效果實現(xiàn)原理及步驟

    Jquery UI震動效果實現(xiàn)原理及步驟

    如果你想你的博客頁面某些部分引起讀者的注意,你可以使這些部分震動,如廣告等等,今天這篇文章將介紹怎樣使你的頁面中的元素震動起來,感興趣的你可不要錯過了哦,或許對你學(xué)習(xí)jquery ui 有所幫助
    2013-02-02

最新評論