Автоматическое воспроизведение jquery для бесконечной карусели должно быть остановлено при нажатии воспроизведения на встроенном видео

Пример проблемы здесь: http://jsfiddle.net/EtWXX/

Моя бесконечная карусель настроена на автоматическое воспроизведение. В него также встроены видео. Однако мне нужно сделать две вещи.

  1. Остановитесь, если видео воспроизводится.
  2. Остановитесь, если 'next' & 'prev' взаимодействуют с.

1 ответ

Вам просто нужно позвонить clearInterval(intervalId) когда вещи взаимодействуют с, затем установите его снова с intervalId = window.setInterval(slide, 5000); когда вы хотите, чтобы он снова начал скользить. если вы хотите, чтобы он приостановился при наведении курсора, вы бы сделали что-то вроде:

$('#viewport').hover(
     function(){clearInterval(intervalId);},
     function(){intervalId = window.setInterval(slide,5000);}
);

Я не знаю, какой код будет определять воспроизведение видео vimeo или нет, но тривиально включить / выключить прокрутку таким способом.

РЕДАКТИРОВАТЬ

Для Vimeo вы должны проверить их API, вы должны добавить ?api=1 в конце вашего Vimeo URL в iframe и загрузите их библиотеку froogaloop, которую вы можете использовать для этого:

        jQuery('iframe.vimeo').each(function(){
            $f(this).addEvent('play', function(){clearInterval(intervalId);});
            $f(this).addEvent('stop', function(){intervalId = window.setInterval(slide,5000);});
        });

это должно остановить слайд-шоу, когда вы воспроизводите видео, и перезапустить его, когда видео останавливается, он прослушивает события из API

Что касается предыдущей и следующей, просто добавьте интервал очистки сразу после jQuery(next).click(function(event) { а также jQuery(prev).click(function(event) { в коде плагина, я не знаю, как вы хотите возобновить слайд-шоу, но мы уже знаем код для этого...

Другие вопросы по тегам