Задать вопрос
lifelover2be
@lifelover2be

Как запустить/приостановить видео по наведению на другой блок (jQuery)?

имеется страничка, обе половинки её имеют фоном видео. если быть точным, вот эта new.volna.dance

нужно, чтобы воспроизводиться начинало то видео, на которое наводится курсор. изначально сделал так:
$(".hustlevideo").mouseover(function(){ 
$this.play(); 
});
$(".hustlevideo").mouseout(function(){ 
$this.pause(); 
});


но возникла проблема - при наведении на блок, который располагается поверх видео, оно, разумеется, останавливается.

перевесил обработчик на родительский блок, в котором располагается весь контент, получилось вот что:
$("#hustle").mouseover(function(){
$(".hustlevideo").play();
});
$("#hustle").mouseout(function(){
$(".hustlevideo").pause();
});


и теперь вываливаются ошибки
Uncaught TypeError: $(...).play is not a function и $(...).pause is not a function

Что я делаю не так и что мне сделать, чтобы получилось?
  • Вопрос задан
  • 1457 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 2
Stalker_RED
@Stalker_RED
Вместо mouseover / mouseout используйте mouseenter / mouseleave.

$(...).play is not a function и $(...).pause is not a function
Что я делаю не так ... ?

Дык вы пытаетесь вызывать методы play() и pause() у объекта jQuery.

Попробуйте $(...)[0].play()
Ответ написан
r0n1x
@r0n1x
html, css, js
document.querySelector('.hustlevideo').addEventListener('mouseover', function(e) {
      this.play();
    }, false);
    document.querySelector('.hustlevideo').addEventListener('mouseout', function(e) {
      this.pause();
    }, false);
    document.querySelector('.wcsvideo').addEventListener('mouseover', function(e) {
      this.play();
    }, false);
    document.querySelector('.wcsvideo').addEventListener('mouseout', function(e) {
      this.pause();
    }, false);

link
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы