2014-02-14 4 views
1

У меня есть этот небольшой фрагмент JQuery:Остановить скрипт работать, если размер экрана меньше, чем

if (jQuery(window).innerWidth() > 568) { 
    jQuery('#boardOfTrustees').masonry({ 
     itemSelector: '.postWrapper', 
    }); 
} 

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

jQuery(window).smartresize(function() { 
    if (jQuery(window).innerWidth() > 568) { 
     jQuery('#boardOfTrustees').masonry({ 
      itemSelector: '.postWrapper', 
     }); 
    } 
}); 

.smartresize является дребезг сценарием, он работает хорошо, но для этого конкретного сценария, его не делать ничего и сценарий кладки еще инициализирован. Как я могу заставить первый набор jQuery перестать применять себя к элементам, если экран меньше 568 пикселей, но затем снова начнет работать, если размер больше 568?

+0

вы не можете остановить что-то это уже произошло. вы можете его отменить. –

+0

Возможно ли, что окно достаточно широкое в начале, так называется «кладка»? Я думаю, вам нужно явно отменить любую «масонство», если ширина '<= 568'. –

ответ

2

Это будет работать при нагрузке. Не на изменение размера:

if (jQuery(window).innerWidth() < 568) { 
    jQuery('#boardOfTrustees').masonry({ 
     itemSelector: '.postWrapper', 
    }); 
} 

Чтобы заставить его работать на изменение размера, то вам нужно будет использовать метод destroy также подробные at the documentation.

$(window).resize(function() { 
    if (jQuery(window).innerWidth() < 568) { 
     jQuery('#boardOfTrustees').masonry('destroy'); 
    } else { 
     jQuery('#boardOfTrustees').masonry({ 
      itemSelector: '.postWrapper', 
     }); 
    } 
}); 
+0

Я знаю, это именно то, что я хочу, но затем наблюдайте за изменением размера и прекратите работать, если его меньше 568. – AndyWarren

+0

@ AndyWarren обновлено. – Alvaro

+0

@ AndyWarren обновлен с большим количеством кода. – Alvaro

0

уничтожить его

else { 
    jQuery('#boardOfTrustees').masonry('destroy') 
} 
Смежные вопросы