Инициализировать кладку, только если загружен скрипт

0

В моем сценарии wordpress я использую условные операторы только для того, чтобы вставить в очередь скрипт кладки на определенных страницах. У меня также есть глобальный раздел javascript, который загружается на все страницы, содержащие скрипт для активации функциональности кладки:

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

Это отлично работает, когда основной скрипт кладки загружается на страницу, но выбрасывает undefined is not a function ошибкой undefined is not a function если она не загружена. Как проверить, не загружена ли каменная кладка перед выполнением вышеуказанного кода? Я предполагаю, что это применимо к большинству jQuery-плагинов и другим js-скриптам таким же образом.

Теги:
jquery-masonry

2 ответа

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

Однако мне действительно не нравятся такие условия. Вы также должны убедиться, что скрипты, использующие библиотеку, загружаются только при необходимости.

0

Масонство определяет глобальное, поэтому вы можете просто сделать:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню