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

首頁 > 網站 > 建站經驗 > 正文

jQuery深入之大圖輪播原理

2024-04-25 20:30:52
字體:
來源:轉載
供稿:網友

也是用了很久的jQuery.

最近也在寫自己的那個小站。對于一些特效還是想弄清一原理。讓自己對一些東西有更深入的了解。

說說大圖輪播的原理:

1.很多時候使用方法Ul列表去展示。當然這也有一些好處,比如float對齊之類的。當然直接用p或者div也行。

2.了解overflow屬性。在溢出情況下的處理。其實輪播就是在不斷的處理li溢出的情況。

3 jQuery animate的動畫效果。當然如果不用這個也行。一個setInterval就能搞定它。不過jQuery還是做了一些封裝。

4 可能還需要一些基礎的理解就是對定位的熟悉。margin和postion的了解。

5 之后就是循環輪播了,循環輪播需要對節點進行重新的修改。

具體而言就是在輪播到最后一張圖片的時候,修改節點,將第一個節點,添加到列表的最后一個位置。如下:

 
  1. $(this).css({'margin-left':0}).children('li').last().after($(this).children('li').first());  

看一下核心代碼:

html:

 
  1. <div class="list" id = "sidle">  
  2.     <ul>  
  3.         <li><img src="1.jpg" width="538" height="198" /></li>  
  4.         <li><img src="2.jpg" width="538" height="198" /></li>  
  5.         <li><img src="3.jpg" width="538" height="198" /></li>  
  6.         <li><img src="4.jpg" width="538" height="198" /></li>  
  7.     </ul>  
  8. </div> 

css:

 

  1. .list{  
  2.     width:538px;  
  3.     height:198px;  
  4.     overflow:hidden;  
  5.     margin:50px auto;  
  6. }  
  7. .list ul{  
  8.     width:2152px;  
  9.     height:198px;  
  10.     margin:0;  
  11.     padding:0;  
  12. }  
  13. .list ul li{  
  14.     float:left;  
  15.     width:538px;  
  16. }  

js:個人稍微封裝了一下:

 
  1. (function($){  
  2.     var silde = {  
  3.         init:function(){  
  4.             this.auto();  
  5.         },  
  6.         auto:function(){  
  7.             var _root = this,  
  8.                 $ul = $("#sidle").find("ul"),  
  9.                 $lis = $ul.children("li"),  
  10.                 width = $lis.eq(0).width();  
  11.             setInterval(function(){  
  12.                 $ul.animate({  
  13.                         'margin-left':'-'+ width +'px'  
  14.                     },  
  15.                     'slow',  
  16.                     function(){  
  17.                         //此處保證能循環輪播  
  18.                         //將已經輪播過的節點的第一張圖片添加到末尾的位置  
  19.                         //再將margin-left重置為0px;  
  20.                         //這樣就能一直的循環下去.  
  21.                         $ul.css({'margin-left':0}).  
  22.                             children('li').  
  23.                             last().  
  24.                             after(  
  25.                                 $ul.children('li').first()  
  26.                             );  
  27.                     });  
  28.                 },2000  
  29.             );  
  30.         }  
  31.     };  
  32.     $(function(){silde.init();})  
  33. })(jQuery);  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永仁县| 兴仁县| 城固县| 延安市| 贺兰县| 海林市| 荆州市| 离岛区| 阳泉市| 吉水县| 娄底市| 固始县| 潍坊市| 会昌县| 磴口县| 宝坻区| 义马市| 浙江省| 通渭县| 玉溪市| 宜兰县| 余姚市| 西青区| 西城区| 枣庄市| 松潘县| 城步| 新竹县| 凤凰县| 莱州市| 乌拉特前旗| 正镶白旗| 海林市| 固原市| 大新县| 长岭县| 屯昌县| 兴宁市| 清远市| 施甸县| 洛川县|