Да. Код типа $('.photos a').magnificPopup(...
создает слушатель; он принимает действие на странице. Поэтому, если вам нужен условный прослушиватель, вы должны определить/создать слушателя, если условие выполнено.
См. jQuery: How to detect window width on the fly? и http://www.fourfront.us/blog/jquery-window-width-and-media-queries для различных идей о том, как наилучшим образом определить ширину окна просмотра.
Но конечный результат может быть структурирована что-то вроде этого:
var windowsize = $window.width();
if (windowsize > 440) {
// Any code inside here will only execute on larger window sizes.
// So define your listener here.
$('.photos a').magnificPopup({...
}
EDIT: Это звучит как часть вопроса здесь, как динамически включить или отключить виджет, когда пользователь регулирует их размер экрана. Вы могли бы потенциально обернуть проверку ширины окна в прослушивателе .click(function(){...
, но это может усложниться, поэтому я просмотрел документацию API Magnific и нашел, что есть возможность именно для этой ситуации.
См http://dimsemenov.com/plugins/magnific-popup/documentation.html#options: при объявлении виджета Magnific (как в коде выше, добавьте disableOn
опцию следующим образом Это отключит виджет полностью, если ниже условие выполнено
disableOn: function() {
if($(window).width() < 600) {
return false;
} else {
return true;
}
}
Привет Тофер ... Да, это будет работать, но только при загрузке начальной страницы. Что делать, если кто-то вошел в сайт на рабочем столе в окне с шириной меньше указанной ширины, но затем увеличил размер окна. Я думал, что мне нужно сделать чек по щелчку(). – generalcb
Спасибо Generalcb - см. Мое правое выше. –
Хорошо замеченный T opher, это сделало трюк. Благодарю. – generalcb