我想在里面播放一个视频,它位于#video-overlay旁边,代码是:
jQuery(".landing-container #video-overlay").hover(function(){
this.prev().play();
},function(){
this.prev().pause();
});
如果我更改了该功能,我使用的是"video"
而不是#video-overlay
,我删除了prev()
一切正常......
什么是完美的解决方案?我想在#video-overlay
悬停时启动视频。
答案 0 :(得分: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();
});
使用DOM Element对象的previousElementSibling
属性(不能在IE8及以下上工作):
$("#video-overlay").hover(function() {
this.previousElementSibling.play();
}, function(){
this.previousElementSibling.pause();
});