2015-02-11 2 views
0

Имея сознание пустое на данный момент. Я хочу стрелять Magnific только над определенной шириной экрана. Мой кодFire Magnific Всплывающее окно только над определенной шириной экрана

 $(function() { 
      $('.photos a').magnificPopup({ 
       gallery: { 
        enabled: true 
       }, 
       type: 'image', 
       zoom: { 
        duration: 250, 
        enabled: true 
       } 
      }); 
     }); 

мне нужно обернуть его в функцию, а затем сделать что-то с $ («фото а.») Нажмите() Есть.

ответ

0

Да. Код типа $('.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; 
    } 
} 
+0

Привет Тофер ... Да, это будет работать, но только при загрузке начальной страницы. Что делать, если кто-то вошел в сайт на рабочем столе в окне с шириной меньше указанной ширины, но затем увеличил размер окна. Я думал, что мне нужно сделать чек по щелчку(). – generalcb

+0

Спасибо Generalcb - см. Мое правое выше. –

+0

Хорошо замеченный T opher, это сделало трюк. Благодарю. – generalcb