仅在加载脚本时初始化砌体

时间:2014-05-04 17:39:09

标签: javascript jquery jquery-masonry

在我的wordpress脚本中,我使用条件语句只在某些页面上排队masonry脚本。我还有一个全局javascript部分,可以加载包含脚本以激活砌体功能的所有页面:

$container.masonry({
  itemSelector: '.img-container',
  gutter: ".gutter-sizer"
});

当主要砌体脚本加载到页面上时,这可以正常工作,但如果未加载,则会引发undefined is not a function错误。在执行上述代码之前,如何检查是否加载了砌体?我认为这将以相同的方式应用于大多数jQuery插件和其他js脚本。

2 个答案:

答案 0 :(得分:2)

if ($.fn.masonry) {
    //...
}

但是我真的不喜欢这种条件。您还应确保仅在真正需要时才加载使用该库的脚本。

答案 1 :(得分:0)

Masonry defines a global所以你可以这样做:

if (window.Masonry) {
  // Masonry has been loaded
}