2011-04-03 71 views
0

如何激活JS和其他jquery函數,如頁面加載後的砌體。jQuery .load()後激活砌體()

我使用:

jQuery("#filterbox").load("mypage.html"}); works fine, but eg. mansory is not activated. 
jQuery('#content #boxes').masonry({ columnWidth: 122, animate: true }); 

但第二不是 「激活」。

是否正確:css和js在.load期間未被激活,以及如果之後我如何激活它。

感謝您的幫助..

/問候

+0

什麼是「磚石()」? – 2011-04-03 17:18:41

+0

http://desandro.com/demo/masonry/docs/砌體根據網格垂直和水平排列元素。 – user625079 2011-04-03 20:09:04

回答

3

試試這個:

jQuery("#filterbox").load("mypage.html", function(){ 
    $('#content #boxes').masonry({ columnWidth: 122, animate: true }); 
}); 

順便說一句,你mypage.html之後有一個額外的}

3

由於jQuery.load是異步的,因此jQuery('#content #boxes').masonry將在調用jQuery.load之後直接運行。你需要一種方法告訴jQuery你想在內容實際加載後執行該功能。

jQuery.load將回調函數作爲第二個參數。此回調將在您的內容加載後執行。試試這個:

jQuery("#filterbox").load("mypage.html", function() { 
    jQuery('#content #boxes').masonry({ columnWidth: 122, animate: true }); 
}); 

繼續閱讀documentation for .load()

+0

完美!非常感謝。我爲此奮鬥了好幾天。 – user625079 2011-04-03 20:11:31

+0

沒問題! :) – alexn 2011-04-03 20:12:23

0

試試這個

jQuery("#filterbox").load("mypage.html",function() { 
     jQuery('#content #boxes').masonry({ columnWidth: 122, animate: true }); 
    });