1

我正在尝试在页面加载时运行一个函数,但它不起作用。我已经在我能想到的每个地方都添加了它,唯一有效的是:

$("html").mousemove(function(event) {
    $('#project_thumbs_container').masonry('reload');
});

我已经尝试过延迟,但我采用了上述 hacky 方法:(

有人对为什么我的函数无法运行有任何建议吗?

更新:

我正在为 jquery 使用砌体。我的问题是当我加载一个使用 ajax 砌体的页面时,它会在一个列中显示它们。$('#project_thumbs_container').masonry('reload');正确重置它,但它只能使用上述mousemove方法。

4

4 回答 4

1

听起来你有两个问题之一:

1) 导致错误的 HTML 格式错误,在使用文档 onReady 语法时不允许代码正确解析:$(function() { ... });

2) Masonry 可能正在异步加载,这意味着“onReady”回调可能不是您想要使用的回调。您的 Ajax 调用看起来更像这样:

$('body').load('index.html', function() {
  $('#project_thumbs_container').masonry();
});
于 2011-10-19T23:38:51.007 回答
1

fadeIn();除非有人有更好的答案,否则我只是在 ajax 调用完成后将代码放在我的代码段中:

this.fadeIn('slow', function() {
  $('#project_thumbs_container').masonry('reload');
});

似乎工作。

于 2011-10-20T00:19:49.113 回答
0

尝试这样的事情。

$(document).ready(function(){
    $('#project_thumbs_container').masonry('reload');
}); 

您可以将此代码放在页面上的任何位置,只要已经加载了依赖项,它就应该可以工作。

于 2011-10-19T23:10:56.003 回答
0

只需将您的功能放入此

$(document).ready(function() {
  // Handler for .ready() called.
  // your function 
});

当您的页面加载时,该功能将执行

于 2011-10-20T11:54:16.647 回答