亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用jQuery實現圓點圖片輪播效果

發布時間:2021-06-24 14:45:44 來源:億速云 閱讀:168 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關如何使用jQuery實現圓點圖片輪播效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

圖片輪播效果 :

在頁面的指定位置實現的圖片自動的左右輪流切換展示,效果為無縫連接;

點擊圖片左下的標簽(或中間的小圓點)切換到對應的圖片;

如何使用jQuery實現圓點圖片輪播效果

如何使用jQuery實現圓點圖片輪播效果

點擊圖片的左右切換標簽;

  如何使用jQuery實現圓點圖片輪播效果

整體思路 :

--------------------------------------------------------------------------------

自動輪播: 將一個用于放置圖片素材的與顯示框同高度的大div放入顯示框,將圖片素材放入大的div中,通過jquery的animate()方法改變大div相對于顯示框絕對位置的left值及變化時間實現圖片的滑動;使用setInterval()方法設置定時器,達到自動播放效果;無縫連續播放的重點在于,第一張圖片與最后一張圖片要相同,這樣播放完最后一張圖片后將大div框的left設定為初始值,再將與圖片索引相同的變量設定為1(第二張),這樣就能達到無縫連續滑動效果;

--------------------------------------------------------------------------------

點擊標簽切換到對應圖片: 對點擊切換圖片的li標簽添加鼠標點擊事件,若存在定時器的先清除,使用$(this).Index()獲取當前點擊圖片的序號(索引),將大div的left值設置為當前圖片位置的值,同時別忘了將當前li標簽設置深顏色的明顯效果,其他li標簽設置初始效果;在事件中設置倒計時,當鼠標點擊后一段時間不進行其他操作,則恢復自動播放的定時器;

--------------------------------------------------------------------------------

點擊向左向右標簽切換到上/下一張圖片: 該標簽使用< a >標簽達到效果更好(防止連續點擊時產生選中頁面變藍的現象),先獲取點擊時圖片的編號,此時不能使用$(this).Index(),因為此時this指代的對象為左右切換標簽,而不是圖片對象,還記得上面那個與圖片索引相同的變量嗎?我們需要一開始就設定它為全局變量(我將它起名為rcd),它的值相當于是和圖片,li標簽一起綁定的,在還沒有點擊向左向右標簽時,圖片是在輪播的,rcd變量中存著當前圖片的序號,因此,盡管用不了this,我們可以用rcd+1/-1找到向右滑/向左劃的圖片編號,有了編號,就可以知道大div需要運動到的位置,和設置左下方的標簽顯示狀態了.當rcd-1==-1時,將div的位置設置為最后一張圖片顯示的位置,然后將rcd設置為倒數第二張圖片對應的編號;當rcd+1比最后一張還多一時,將div的位置設置為第一張圖片顯示的位置,將rcd設置為第二張圖片對應的編號即可.

--------------------------------------------------------------------------------

代碼實現如下 :

<script src="jquery.min.js" type="text/javascript" charset="utf-8"></script>  //引入jquery (css代碼未貼)
  <script type="text/javascript">
    $(function(){
        var rcd=0;       //代表圖片和li標簽編號的全局變量
//       滑動函數
        function slide(){   
          rcd++;
          if(rcd==4){    //右滑倒最后一張時,將圖片設定為第一張的位置,即將滑動的圖片設定為第二張(rcd=1)
            $('#sld').css({'left':'0'});
            rcd=1;
          };
          var dis = rcd*(-1210)+'px';    //這里的1210是每張圖片的寬度,rcd和dis的關系就是編號和div left值的關系
          $('#sld').stop().animate({'left':dis},1000)  //設定left
          if (rcd==3) {    //當切換到最后一張時(一共4張圖片),將左下方的標簽樣式也改成與第一張一樣的
            $('#fix ul li').eq(0).css({'opacity': '0.6'}).siblings('li').css({'opacity': '0.2'})
          }else{
            $('#fix ul li').eq(rcd).css({'opacity': '0.6'}).siblings('li').css({'opacity': '0.2'})      //不是最后一張那么就正常執行
          }
        }
//       設定定時器,開始輪播
        var timer = setInterval(slide,2000);
        var st;    //聲明倒計時函數變量名
//       綁定li鼠標點擊事件
        $('#fix ul li').click(function(){
          clearInterval(timer);     //清除定時器(同下一行)
          clearTimeout(st);
          var rcd = $(this).index();   //獲得點擊的li的編號
          var dis =rcd*(-1210)+'px';   //獲得該編號對應的div的left值
          $('#sld').stop().animate({'left':dis},500)  //開始運動
          $('#fix ul li').eq(rcd).css({'opacity': '0.6'}).siblings('li').css({'opacity': '0.2'})     //設置當前li樣式,其他li變為初始值
          st = setTimeout(function(){   //設置定時器,若3秒內沒有鼠標點擊操作,就重新設置輪播定時器
            timer = setInterval(slide,2000);
          },3000)
        }); 
//       左圖標點擊事件
        $('#fix .lt').click(function(){
          clearInterval(timer);
          clearTimeout(st);
          rcd--;     //點擊前的編號-1
          if(rcd==-1){  //如果rcd減后值為-1,那么將div的left設置為最后一張圖顯示的值,并將rcd設置為倒數第二張的編號
            $('#sld').css({'left':'-3630px'});
            rcd=2;
          };
          var dis = rcd*(-1210)+'px';
          $('#sld').stop().animate({'left':dis},1000)  //運動
          if (rcd==3) {     //與前面相同
            $('#fix ul li').eq(0).css({'opacity': '0.6'}).siblings('li').css({'opacity': '0.2'})
          }else{
            $('#fix ul li').eq(rcd).css({'opacity': '0.6'}).siblings('li').css({'opacity': '0.2'})
          }
          st = setTimeout(function(){
            timer = setInterval(slide,2000);
          },3000)
        })
//       右圖標點擊事件
        $('#fix .rt').click(function(){
          clearInterval(timer);
          clearTimeout(st);
          slide();     //右圖標點擊一次與滑動函數一致
          st = setTimeout(function(){
            timer = setInterval(slide,2000);
          },3000)
        })
//       給#fix div加鼠標移入事件
        $('#fix').mouseenter(function(){     
          $('#fix a').css({'display':'block'});  //鼠標移入時,向左向右圖標顯示
        })
//       給#fix div加鼠標移出事件
        $('#fix').mouseleave(function(){
          $('#fix a').css({'display':'none'});   //鼠標移出時,向左向右圖標隱藏
        })
    })
  </script>
  </head>
  <body>
    <div id="fix">
      <div id="sld">
        <img src="輪播圖/ph2.png"/>
        <img src="輪播圖/ph3.jpg"/>
        <img src="輪播圖/ph4.jpg"/>
        <img src="輪播圖/ph2.png"/>
      </div>
      <ul>
        <li >iPhone6</li>
        <li>Mate9</li>
        <li>vivo X9</li>
      </ul>
      <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" class="lt"><img src="輪播圖/left.png"/></a> //阻止瀏覽器的默認跳轉
      <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" class="rt"><img src="輪播圖/right.png"/></a>
    </div>
  </body>

關于“如何使用jQuery實現圓點圖片輪播效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇坪县| 淮安市| 静安区| 名山县| 鸡泽县| 绥芬河市| 临沭县| 舒兰市| 颍上县| 扬州市| 汉阴县| 赞皇县| 景谷| 吴旗县| 建水县| 沂南县| 昌江| 舞阳县| 乐都县| 二连浩特市| 东宁县| 延长县| 锦屏县| 盘锦市| 阜康市| 娄底市| 三台县| 贵南县| 叶城县| 永康市| 余干县| 屯门区| 宾阳县| 将乐县| 玉田县| 水富县| 白沙| 临桂县| 青浦区| 扶余县| 新乐市|