2011-04-03 72 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 }); 
    });