Требуются элементы управления воспроизведением / приостановкой jQuery GalleryView Beta3

StackOverflow https://stackoverflow.com/questions/5881917

Вопрос

Я использую плагин jQuery под названием GalleryView в его версии Beta3 (http://spaceforaname.com/galleryview).Планируется, что в версии Beta4 будут встроенные элементы управления для воспроизведения / паузы анимации.Мой вопрос:

Как имитировать элементы управления воспроизведением и приостановкой извне сценария без необходимости изменять код GalleryView.Есть ли для этого какой-нибудь плагин?Или, может быть, недокументированное действие?

Во время инициализации можно решить, хотите ли вы включить или отключить функцию автовоспроизведения.

Если действие или плагин недоступны, как вы это решили?Можете ли вы поделиться примененной модификацией GalleryView?

С уважением, Т.

Это было полезно?

Решение

Я решил эту проблему, изменив исходный скрипт GalleryView, добавив следующие элементы:

  • переменная paused в скрипте, хранящая статус паузы / воспроизведения (генерирует код кода, если пауза, генерирует код кода, если воспроизведение),
  • добавил следующее определение обратного вызова:

    /*
    **  playPause()
    **      Resume slideshow if paused, pause if slideshow playing.
     */
    function playPause() {
        if(!paused) {
            // Pause slideshow in 500ms. This allows for brief swipes of the mouse over the gallery without unnecessarily pausing it
            $(document).oneTime(0,"animation_pause",function(){
                $(document).stopTime("transition");
                paused = true;
            });
            $('.gv-nav-play-pause').removeClass('gv-nav-pause').addClass('gv-nav-play');
        } else {
            $(document).stopTime("animation_pause");
            if(opts.transition_interval > 0) {
                $(document).everyTime(opts.transition_interval,"transition",function(){
                    showNextItem();
                });
                paused = false;
            }
            $('.gv-nav-play-pause').removeClass('gv-nav-play').addClass('gv-nav-pause');
        }
    };
    
  • добавил кнопку для воспроизведения / паузы, стилизовал ее и прикрепил к ней обратный вызов true в false и некоторых событиях касания (чтобы разрешить устройства с сенсорным экраном).

Он работал отлично, без сбоев, но код может быть не идеальным - мне пришлось использовать оригинальный код GalleryView, который сам по себе не идеален.

Другие советы

На данный момент я не нашел способа отключить автовоспроизведение (я бы тоже хотел эту опцию).Насколько я понимаю, в следующей версии будут элементы управления плеером.На момент публикации это все еще нестабильно, но многообещающе.Вот ссылка на демо-страницу версии 3 Beta4 автора GalleryView:

http://spaceforaname.com/galleryview-3.0/testpage.html

Я использую текущую версию, и мне нужно было отключить автовоспроизведение на одном слайдере.Я решил это, сделав 10-минутную задержку между циклами.Это дало возможность воспроизвести 9-минутное видео на одном из слайдов.Более длительная задержка (30 минут) фактически отключит автовоспроизведение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top