当我点击div
下的图片videoCircle
下的图片时,应播放上一个视频标记中的视频。
<div class="videoWrapper">
<video class="video">
<source src="videos/vidtut1.mp4" type="video/mp4" />
</video>
<div class="videoCircle">
<img src="img/circle-play.png" />
</div>
</div>
我尝试了以下内容:
$(".videoCircle img").click(function(){
$(this).prev().prev().paused ?$(this).prev().prev().play() : $(this).prev().prev().pause();
});
但它给了我一个错误:
Uncaught TypeError:$(...)。prev(...)。prev(...)。pause不是函数
答案 0 :(得分:3)
您可以使用route_predicate
获取公共父级,然后使用closest('.videoWrapper')
find()
来玩。试试这个:
video
请注意,您需要在本机$(".videoCircle img").click(function() {
var video = $(this).closest('.videoWrapper').find('video')[0];
video.paused ? video.play() : video.pause();
});
元素上调用HTML5视频方法(本例中为paused
,play
和pause
),而不是包含的jQuery对象它,因此选择器之后的video
。
答案 1 :(得分:1)
你可以达到那样的目标
$(".videoCircle img").click(function(){
var video = $(this).parent().parent().find($(".video")).get(0);
console.log(video.paused);
});
答案 2 :(得分:0)
尝试以上操作。
<强>的js 强>
$(function(){
$(".videoCircle img").click(function(){
var videoelement= $(this).parent().parent().find(".video").get(0);
videoelement.play();
});
});