2013-03-11 72 views
0

這是一個相當複雜的修改。我有一個使用同位素建立的網格系統。客戶希望此網格在用戶每次訪問該頁面時都是隨機的。這很容易通過添加sortBy來使用同位素:「隨機」。給予第一個砌體/同位素隨機項目一類

但是,同位素中的第一項有一類「特徵」。這個特色類激活了一個更廣泛的網格元素和用戶點擊的一些信息,所以這將始終是我網格中的第一項。

現在,我需要做的是將隨機序列中的第一個元素設置爲每次「顯示」。所以每次用戶訪問該頁面時,特色網格項目都會有所不同。目前,因爲我對課程進行了嚴格的編碼,所以這些只是隨機地放在網格中。

無論如何要給隨機序列中的第一個元素一個類?這是我的代碼:

<script> 
      var $container = $('#home-grid'); 

      $container.isotope({ 
       // options... 
       resizable: true, // disable normal resizing 
       sortBy : 'random', 
       // set columnWidth to a percentage of container width 
       masonry: { columnWidth: $container.width()/2 } 
      }); 

      $(window).smartresize(function(){ 
       $container.isotope({ 
       // update columnWidth to a percentage of container width 
       masonry: { columnWidth: $container.width()/2 } 
       }); 
      }); 
     </script> 

回答

0

有一種方法可以給隨機序列中的第一個同位素元素一個類!

使用回調函數和回調函數中,找出通過尋找每個同位素元素的特定值,其元件被定位爲與第一元件:

  1. 的每個元件的transform的矩陣值:txty
  2. $container填充值:padding-toppadding-left

一旦你擁有了這些4個值,CHEC k如果tx的值與padding-left匹配,並且ty的值與padding-top匹配。

如果兩個條件都是真實/匹配,則分配您的自定義類,例如。 .featured到那個元素。

+0

謝謝莊田,但我認爲這超出了我。你能用代碼告訴我嗎? D.Desandro也在這裏寫信給我 - > https://github.com/desandro/isotope/issues/654#issuecomment-38434651 – BenRacicot 2014-03-24 13:06:53