国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

教你一步步用jQyery實現輪播器

2019-11-19 18:24:33
字體:
來源:轉載
供稿:網友

實現原理

如圖,試想一下,若是將<ul>的width屬性值設置的很寬,直到可以裝下你所有的圖片,而每一個圖片又用<li>包著并且設置了左浮動。

那么當我們向左移動ul的時候并且移動的距離為<li>的寬度,第二個<li>不就被移動到了<div>的窗口,這樣一來圖片不就被一張一張顯示出來了嗎?

接下來我們在設置<div>的屬性overflow:hidden,那么<div>窗口以外的圖片不顯示,只顯示移動到當前窗口的圖片,是不是又完美了一些,感覺快做好了是吧!

 

說了一些原理,好了,直接上代碼,記得引入jquery。

這是div做的布局,做的時候記得加上邊框,做后在刪掉,這樣便于測試

<div class="slideShow"> <div class="nav-t">  <ul>   <li><a href="#" target="_blank"><img src="images/1.png" alt=""></a></li>   <li><a href="#" target="_blank"><img src="images/2.png" alt=""></a></li>   <li><a href="#" target="_blank"><img src="images/3.png" alt=""></a></li>   <li><a href="#" target="_blank"><img src="images/4.png" alt=""></a></li>   <li><a href="#" target="_blank"><img src="images/5.png" alt=""></a></li>  </ul>  <div class="nav-b">   <span class="active">1</span>   <span>2</span>   <span>3</span>   <span>4</span>   <span>5</span>  </div> </div> </div> <script type="text/javascript" src="jquery-min.js"></script> <script type="text/javascript" src="lunbo.js"></script>

接下來設置一下樣式

<style> .slideShow{  border:0px solid blue;  width:600px;  height:450px;  margin:50px auto;  position:relative; } .nav-t{  border:0px solid red;  width:580px;  height:430px;  margin:8px auto;  position:relative;  overflow:hidden; } .nav-t ul{  border:0px solid green;  list-style:none;  width:3000px;  height:430px;  margin:0;  padding:0;  position:relative; } .nav-t li{  height:427px;  width:580px;  float:left; } .nav-b{  position:absolute;  top:390px;  left:220px;  cursor:default; } .nav-b span{  margin-right:5px;  border:1px solid red;  padding:0 6px;  border-radius:12px;  color:#fff;  background:rgba(132,125,119,0.5);  cursor:pointer; } .nav-b span.active{  background:rgba(0,0,0,0.8); } </style>

用js實現點擊輪播圖片、自動輪播圖片,鼠標移動上去停止輪播

$(function(){  $(function(){ var slide=$(".slideShow"),  navt=slide.find(".nav-t"),  ul=navt.find("ul"),  navbs=slide.find(".nav-b span"),  onwidth=ul.find("li").eq(0).width(), //獲取ul下的li寬度  timer=null,  inow=0; navt.hover(function(){   clearInterval(timer); //鼠標移上去,清除掉自動輪播功能,即定時輪播  },autoPlay);  navbs.on("click",function(){ //點擊輪播事件  var me=$(this);   inow=me.index();  //此處變量用的與自動輪播函數里的相同,為的是能在隨便點擊后,自動輪播時按照我們點擊了的繼續向后輪播,這叫動態實時  ul.animate({left:-inow*onwidth},0.01); //ul向左移動從而使得下一個li顯示到div的當前窗口  navbs.removeClass("active");   //清除掉上一個點擊按鈕的樣式  me.addClass("active");     //為當前被點擊的按鈕添加第一個按鈕樣式 }); autoPlay();      function autoPlay(){     //自動輪播函數 timer=setInterval(function(){   //開定時器  inow++;  if(inow==navbs.length){    //判斷是否到了最后一張,若是到了,返回到第一張   inow=0   }  navbs.eq(inow).trigger("click"); //根據定時的時間用span的索引自動調用click事件,trigger為jQuery的自動調用函數  },3000); }});});

看一下效果圖?好的

總結

好了,以上就是利用jQyery實現輪播器的全部內容了,怎么樣,要不你也做一個?希望本文的內容對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石景山区| 苍山县| 大洼县| 西乌| 温泉县| 水富县| 彭水| 喀什市| 建昌县| 海晏县| 富宁县| 万年县| 凌云县| 错那县| 保山市| 和静县| 威信县| 海门市| 南靖县| 汾阳市| 河西区| 达日县| 且末县| 广德县| 政和县| 三明市| 华宁县| 临湘市| 噶尔县| 公安县| 高雄市| 鄂尔多斯市| 肇东市| 正宁县| 刚察县| 长垣县| 察雅县| 岗巴县| 林口县| 苗栗市| 茶陵县|