0

如何在页面加载后激活 JS 和其他 jquery 功能,例如砌体。

我用:

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

但第二个没有“激活”。

在.load期间没有激活css和js是否正确,如果,我如何在之后激活它。

谢谢你的帮助..

/问候

4

4 回答 4

3

尝试这个:

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

顺便说一句,你有一个额外的}after mypage.html

于 2011-04-03T17:19:17.440 回答
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 });
});

继续阅读.load() 的文档

于 2011-04-03T17:21:25.803 回答
0

尝试这个

jQuery("#filterbox").load("mypage.html",function() {
      jQuery('#content #boxes').masonry({ columnWidth: 122, animate: true });
    });
于 2011-04-03T17:22:06.617 回答
0

添加一个 ImagesLoaded 脚本 https://github.com/desandro/imagesloaded/blob/master/imagesloaded.js

尝试:

jQuery("#filterbox").load("mypage.html",function() {
    jQuery('#content').imagesLoaded(function() {
        jQuery(this).masonry({ itemSelector: '.box' });
    });
});

它对我有用,希望这对你也有帮助

我的例子(在导航中选择画廊): http ://test.crystalstudio.me/nms/

于 2013-06-19T14:51:10.370 回答