人人人妻人人人妻人人人,99精品国产综合久久久久五月天 ,欧美白人最猛性XXXXX,日韩AV无码免费播放

News新聞

業(yè)界新聞動態(tài)、技術前沿
Who are we?

您的位置:首頁      網站知識      jQuery深入之大圖輪播原理.

jQuery深入之大圖輪播原理.

標簽: 發(fā)布日期:2014-02-18 00:00:00 1503

也是用了很久的jQuery.

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

 

說說大圖輪播的原理:

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

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

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

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

5 之后就是循環(huán)輪播了,循環(huán)輪播需要對節(jié)點進行重新的修改。

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

 

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

 

看一下核心代碼:

html:

 

[html] css:

 

 

[css] view plaincopy在CODE上查看代碼片派生到我的代碼片
 
  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:個人稍微封裝了一下:

 

 

[javascript] view plaincopy在CODE上查看代碼片派生到我的代碼片
 
  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.                         //此處保證能循環(huán)輪播  
  18.                         //將已經輪播過的節(jié)點的第一張圖片添加到末尾的位置  
  19.                         //再將margin-left重置為0px;  
  20.                         //這樣就能一直的循環(huán)下去.  
  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);  
本文轉自http://blog.csdn.net/yangzhihello/article/details/19325805