国产探花免费观看_亚洲丰满少妇自慰呻吟_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實現輪播器的全部內容了,怎么樣,要不你也做一個?希望本文的內容對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扶风县| 赣榆县| 葫芦岛市| 宝山区| 秀山| 全州县| 台前县| 叶城县| 辽中县| 江西省| 霍邱县| 赤壁市| 双峰县| 勃利县| 台中市| 珠海市| 台中县| 绿春县| 阳西县| 东阳市| 鄂托克前旗| 江西省| 阿鲁科尔沁旗| 南江县| 丰镇市| 松阳县| 马鞍山市| 德化县| 柘城县| 钟山县| 九龙坡区| 永丰县| 曲沃县| 松潘县| 广饶县| 云龙县| 台湾省| 塔城市| 上思县| 舟曲县| 德令哈市|