2015-02-05 1 views
1

Не знаю, правильно ли я задал вопрос, но чего я хочу достичь: я использую плагин масонства на отзывчивом веб-сайте, и я хочу, чтобы он работал только на рабочем столе. Поэтому я использую этот код для запуска плагина:Как отключить плагин jquery

var $container = $('#container'); 
$container.masonry({ 
     columnWidth: 200, 
     itemSelector: '.item' 
}); 

Для экранов меньшего размера, чем 900px (на изменение размеров и нагрузки) Я не хочу этот плагин работать. У меня есть этот код, но не уверен, что я должен положить внутрь, чтобы остановить запуск плагина, если это возможно? (Я обнаружения с помощью CSS, а не ширины окна)

$(window).on("load resize", function() { 
    if ($("#logo").css("left") == "none"){ 
     //stop plugin from running 
    } 
}); 
+0

CSS не может отключить скрипт, так что вы Мне нужно проверить ширину страницы и удалить элемент сценария при изменении окна –

+0

, но как удалить скрипт? – yennefer

+0

http://stackoverflow.com/questions/18815857/how-to-dynamically-remove-script-from-a-page –

ответ

1
+0

Я принял это как ответ, потому что он сработал, но у меня есть эта ошибка в firebug: не могу вызвать методы на кладке до инициализации; попытался вызвать «destroy» – yennefer

+0

Вы вызываете этот код перед инициализацией плагина. Необходимо запустить его после этого. – mattfetz

+0

Я запускаю этот код только для больших экранов и удаляю его для мобильных телефонов, и я создал условное значение в '$ (window) .on (" load resize ", function() {' поэтому, когда я изменяю размер окна, иногда это выполняется до инициализации, иногда после, в зависимости от начальной точки экрана браузера - если это имеет смысл. Есть ли какой-нибудь способ? – yennefer

0

вы можете проверить ширину окна с помощью:

var ww = $(window).width(); 

if (ww <= 900px) { 
    $('#container').masonry('destroy'); 
} 

я хотел бы предложить, что вы также можете использовать debounce функцию в функции изменения размера поэтому он не слушает все время.

приветствия Тимофея

1

Вы можете использовать

if($(window).width()<900){ 
    $('#masonry').masonry('destroy'); 
} 

и вы можете повторно инициализировать скрипт с помощью функции инициализации, которые вы используется для запуска вашей функции