для fancybox, как я могу запустить слайд-шоу автоматически? - PullRequest
0 голосов
/ 11 февраля 2012

, похоже, такой опции нет, и я не понял, как изменить исходный код для этой цели. кто-нибудь может мне помочь?

Ответы [ 4 ]

5 голосов
/ 11 февраля 2012

Если используется v2, то -

$(".fancybox").fancybox({
    autoPlay : true, //  slideshow will start after opening the first gallery item
    playSpeed : 3000 // 3sec pause between changing next item
});
2 голосов
/ 11 февраля 2012

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

$.fancybox.open($("[rel='your_rel']").get(), options);

Предполагалось, что вы установили атрибут rel для элементов в галерее на 'your_rel'.

1 голос
/ 16 декабря 2013

Если вы используете версию до V2.

Предполагая, что вы уже знаете, как создать галерею с атрибутом rel, и что у ваших изображений теперь есть нажимаемая следующая и предыдущая кнопки:

Просто добавьте событие автоматического нажатия на идентификатор следующей стрелки # fancybox-right:

<script>
setInterval(function() {
    $('#fancybox-right').trigger('click');
}, 7000);
</script>

Вы также можете использовать setTimeout, который будет щелкать один раз, а не непрерывно. Теперь, если кто-нибудь знает, как остановить setInterval при наведении курсора на div # fancybox-content, это было бы замечательно.

0 голосов
/ 02 июня 2017

Если вы работаете с FancyBox 3:

$("[data-fancybox]").fancybox({
        afterLoad: function() {

            if (!$('.fancybox-button--play').hasClass("fancybox-button--pause")) {
                $('.fancybox-button--play').trigger('click');
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...