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

Что я делаю не так и что мне сделать, чтобы получилось?
  • Вопрос задан
  • 1408 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект