Показать сообщение отдельно
  #13 (permalink)  
Старый 18.08.2021, 17:23
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

Решил отключать видео при клике на баннер.

Действия:
При клике на сам блок отключать все видео в этом блоке, и затем моментально запускать только то, у которого в пути есть класс .active

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

$('#banner_slays_{{ module_id }}').click(function() {
        $('#banner_slays_{{ module_id }} .owl-item video').pause();
    });


Но опять же, он не сработает по причине которую вы описывали ранее. Сработает только такая конструкция:

$('#banner_slays_{{ module_id }}').click(function() {
        $('#banner_slays_{{ module_id }} .owl-item video')[0].pause();
    });




Проблема:
Я бы мог создать действие для каждого видео в этом блоке. На данный момент их 4. Но я не знаю буду ли в будущем добавлять слайды, и тогда придется опять идти в код и добавлять событие. А это неудобно очень.



Вопрос:
Можно как то одним действием отключить все видео в этом блоке?



Зачем:
Я не знаю какой слайд был перед включен перед тем как пользователь переключил слайд. И соответственно это видео будет продолжать играть. А так, после клика я просто отключаю их всех и сразу включаю только то что содержит в пути класс .active

Таким образом я и неактивные отрубаю, и активный слайд включаю.
Ответить с цитированием