2013-05-24 4 views
1

Я хотел бы играть видео внутри, который находится рядом с # видео-оверлей, код:Начало HTML5-видео с JQuery

jQuery(".landing-container #video-overlay").hover(function(){ 
     this.prev().play(); 
    },function(){ 
     this.prev().pause(); 
    }); 

Если изменить функцию, и я использую "video" вместо #video-overlay и Я удаляю prev() все отлично ..

Какое идеальное решение? Я хотел бы начать видео на #video-overlay hover.

+0

Пожалуйста, разместите свой HTML. – j08691

ответ

1

DOM Element объект не поддерживает .prev() метода, для использования JQuery .prev() метода, элемент должен быть обернут JQuery:

$("#video-overlay").hover(function() { 
    $(this).prev().get(0).play(); 
       // ^-- Get the first selected DOM Element object from jQuery Collection 
       //  for calling `.play` method, assuming the returned element is 
       //  a Video or Audio Element object 
    }, function() { 
    $(this).prev().get(0).pause(); 
}); 

Используя previousElementSibling свойство объекта DOM-элемента (не работает на IE8 и ниже):

$("#video-overlay").hover(function() { 
    this.previousElementSibling.play(); 
    }, function(){ 
    this.previousElementSibling.pause(); 
}); 
Смежные вопросы