Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2014, 15:07
Новичок на форуме
Отправить личное сообщение для weare138 Посмотреть профиль Найти все сообщения от weare138
 
Регистрация: 09.11.2014
Сообщений: 3

Скрипт срабатывает после перезагрузки страницы
Привет, лайтбокс magnific-popup срабатывает только после перезагрузки странички.Не пойму в чем дело, вроде обернул его в

$(window).load(function() {


но все равно должным образом не работает.В чем дело?

<script type="text/javascript">
$(function() {
   $(window).load(function() {
   $('.popup-gallery').magnificPopup({
      delegate: 'a',
      type: 'image',
      tLoading: 'Loading image #%curr%...',
      mainClass: 'mfp-img-mobile',
      gallery: {
         enabled: true,
         navigateByImgClick: true,
         preload: [0,1] // Will preload 0 - before current, and 1 after the current image
      },
      image: {
         tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
         titleSrc: function(item) {
            return item.el.attr('title') + '<small>by Marsel Van Oosten</small>';
         }
      }
   });
});
});
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2014, 17:15
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 22.12.2013
Сообщений: 1,856

А как он должен срабатывать? В чём проблема?
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2014, 14:28
Новичок на форуме
Отправить личное сообщение для weare138 Посмотреть профиль Найти все сообщения от weare138
 
Регистрация: 09.11.2014
Сообщений: 3

ну при клике на изображение, должен вылезать лайтбокс с этим изображением, а такое происходит только после того как я перезаружаю страничку с этим изображением.
инициализирую в консоли вручную, и все работает.не пойму
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2014, 15:07
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 22.12.2013
Сообщений: 1,856

Ну так всё правильно, ты же указал методу load выполнить запуск окна поле события загрузки, вот он и выполнил.
Тебе нужно внутри load не выполнять magnificPopup сразу, а установить событие click на твоё изображение.
$(function() {
  $(window).load(function() {
    $('селектор твоей картинки').click(function() {
      $('.popup-gallery').magnificPopup({
        delegate: 'a',
        type: 'image',
        tLoading: 'Loading image #%curr%...',
        mainClass: 'mfp-img-mobile',
        gallery: {
          enabled: true,
          navigateByImgClick: true,
          preload: [0,1] // Will preload 0 - before current, and 1 after the current image
        },
        image: {
          tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
          titleSrc: function(item) {
            return item.el.attr('title') + '<small>by Marsel Van Oosten</small>';
          }
        }
      });
    });
  });
});
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2014, 15:46
Новичок на форуме
Отправить личное сообщение для weare138 Посмотреть профиль Найти все сообщения от weare138
 
Регистрация: 09.11.2014
Сообщений: 3

все решено, проблема была совершенно в другом месте.в рельсах гем турболинкс каким то образом влиял
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка jquery по событию click, без полной перезагрузки страницы Vitaliy88 Общие вопросы Javascript 4 22.11.2012 10:35
Не работает скрипт при обновлении элемента без перезагрузки страницы Jex Events/DOM/Window 0 28.09.2012 15:43
Скрипт запускает после обновления страницы treamz jQuery 1 02.07.2012 10:43
Не срабатывает bind(и click) после load (или get) dijah jQuery 3 27.01.2009 19:05
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 05:06