2016-05-25 3 views
1

На изображениях моей страницы открывается fancybox (несколько наборов изображений), при этом автовоспроизведение устанавливается в true. Я хотел бы остановить fancybox после отображения ВСЕХ изображений (количество изображений меняется). Я попробовалКак закончить игру Fancybox после галереи?

afterShow: function() { 
    $.fancybox.close(); 
} 

Это работает, но останавливает fancybox сразу после первого изображения. Поэтому мне нужно что-то вроде afterShowGallery. Есть ли способ достичь этого? Любая помощь будет приветствоваться.

+0

Пожалуйста, попробуйте использовать 'onPlayEnd: function()' обработчик событий. Это решит вашу цель. – vijayP

ответ

1

Я думаю, вам стоит попробовать позвонить close() из обработчика событий onPlayEnd(). Этот обработчик событий вызывается после того, как слайд-шоу остановилось. Поэтому вместо помещения close звонок в afterShow обработчик события; сделайте это в onPlayEnd() следующим образом:

$(document).ready(function() { 
    $('.imagen').click(function(e){ 
     e.preventDefault(); 
     parent.$.fancybox(
      [ {href:'img/1A.jpg'}, {href:'img/1B.jpg'}, {href:'img/1C.jpg'} ], 
      { 
      // API options here 
       onPlayEnd: function() { 
        $.fancybox.close(); 
       } 
      } 
     ); 
    }); 
}); 
+0

Спасибо за ваш ответ. Я попытался, но еще не успел, я не очень хорошо разбираюсь в js ... Может быть, вы можете мне помочь и показать, где позвонить: Извините, блок кода, похоже, не работает в комментарии ... – Taco

+0

hello @Taco, Не могли бы вы попробовать с помощью модифицированного кода. – vijayP

+0

Привет @vijayP, спасибо за скорректированный код, это работает отлично. У меня есть еще один вопрос, хотя я бы хотел приостановить автозапуск, когда мышь находится над текущим изображением в fancybox. Я нашел это: http://stackoverflow.com/questions/27427239/fanybox-gallery-stop-autoplay-on-hover, но это выходит из fancybox, и я просто хочу приостановить автозапуск ... – Taco