2016-01-22 35 views
0

我正在購買同位素圖庫插件,它掃描某些圖庫容器中的所有元素,並根據需要添加/刪除類,具體取決於圖庫過濾。圖庫腳本不適用於動態附加元素

問題是我現在正在動態獲取元素,所以gallery腳本對於默認加載的元素工作正常,但是一旦我點擊'加載更多'從DB獲取更多元素,元素就會插入到容器,但我需要在append之後再次執行該庫的init函數。

我曾嘗試加入這個腳本的HTML頭標記:

<script> 
    function reload_js(src) { 
     jQuery('script[src="' + src + '"]').remove(); 
     jQuery('<script>').attr('src', src).appendTo('head'); 
    } 
    </script> 

,然後我就追着$("#container").append(data); 但仍附加元素不具備的額外課程,他們應該有權調用reload_js

有什麼想法?

+0

你有一個喜歡的畫廊手冊? –

+0

http://isotope.metafizzy.co/ – Shaniqwa

+0

你使用的是什麼庫插件? –

回答

0

我相信你的答案可以在documentation page找到。

當追加的要素如下方式

// create new item elements 
var $items = $('<div class="grid-item">...</div>'); 
// append items to grid 
$grid.append($items) 
// add and lay out newly appended items 
.isotope('appended', $items) 
// sort grid 
.isotope({ sortBy : 'symbol' }); 

您的畫廊應該重新佈局。

+0

現在它的工作,我能夠添加新的元素,但過濾不好。新元素沒有正確排序 – Shaniqwa

+0

檢查http://isotope.metafizzy.co/sorting.html#sortby。我將在我的示例中添加一行代碼。 –

+0

初始化插件時是否設置了「sortBy」和「getSortData」?請參閱http://isotope.metafizzy.co/methods.html#insert上的示例 –

0

好的,解決了!謝謝所有幫手:)

所以行插入元素到isotop庫:
我需要的行是:$(「#containerisotope」)。isotope('insert',$(data));

很重要 - 這會爲您做所有的工作,不需要使用jquery append。只是這一行插入並正確過濾所有新元素。

鏈接到同位素doc:http://isotope.metafizzy.co/v1/docs/adding-items.html

相關問題