2013-07-01 39 views
2

我有以下的wookmark是否可以設置wookmark中特定元素的寬度?

$container.find('.item').wookmark({ 
      itemWidth: 200, 
      offset: 38, 
      autoResize: true, 
      container: $container 
     }); 

的初始化代碼,但我想使不同寬度的每個元素的元素取決於屬性,我想是這樣

... 
itemWidth: $(this).attr('imageWidth') ? parseInt($(this).attr(imageWidth)) : 200, 
... 

這個不指向'.item'元素,它仍然指向$ container

+1

itemWidth是每個插件初始化僅調用一次的選項。如果不擴展插件,你無法做到自己想做的事。順便說一句,它不會是一件容易的事情,因爲插件渲染元素使用無序列表與絕對位置的LI。也許另外一個插件會更準確,比如gridster.js,即使我不知道你在找什麼。 –

+0

是的,閱讀文檔後,看起來不能用當前插件完成,我應該嘗試一些其他的,但感謝您的意見 – IgorCh

+0

+1你有沒有找到解決這個問題的任何解決方案? – laaposto

回答

0

應該是這樣的。

jQuery.each()迭代並分配不同的itemWidth像這樣每一個元素:

$('.item').each(function(el) { 
    $(el).wookmark({ 
    itemWidth: $(el).attr('imageWidth') 
    }); 
}); 

爲什麼並不是指項目,但至$容器?因爲你在$ container上調用.find(),所以jQuery仍然返回$ container,你可以調用.wookmark就可以了。

這個指的是調用者對象。

+0

你測試了這個嗎?似乎不可能單獨爲每個瓦片初始化wookmark。 – Tom

相關問題