如何通过单击图像(使用jquery)从父div播放视频
当我用class如何通过单击图像(使用jquery)从父div播放视频,jquery,Jquery,当我用classvideoCircle单击div下的图像时,应该播放上一个视频标签中的视频 <div class="videoWrapper"> <video class="video"> <source src="videos/vidtut1.mp4" type="video/mp4" /> </video> <div class="videoCircle"> <img
videoCircle
单击div
下的图像时,应该播放上一个视频标签中的视频
<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>
但这给了我一个错误:
未捕获的TypeError:$(…).prev(…).prev(…).pause不是函数
您可以使用closest('.videoWrapper')
获取公共父级,然后find()
播放video
。试试这个:
$(".videoCircle img").click(function() {
var video = $(this).closest('.videoWrapper').find('video')[0];
video.paused ? video.play() : video.pause();
});
请注意,您需要在本机
video
元素上调用HTML5视频方法(paused
,play
和pause
),而不是在包含它的jQuery对象上,因此在选择器之后调用[0]
。您可以这样操作
$(".videoCircle img").click(function(){
var video = $(this).parent().parent().find($(".video")).get(0);
console.log(video.paused);
});
试试上面的方法
Js
$(function(){
$(".videoCircle img").click(function(){
var videoelement= $(this).parent().parent().find(".video").get(0);
videoelement.play();
});
});
谢谢你,伙计。只需在第二行末尾加上分号。我花了20分钟找出了问题所在……啊,是的,错过了。感谢@MasterCasim修复它。
$(function(){
$(".videoCircle img").click(function(){
var videoelement= $(this).parent().parent().find(".video").get(0);
videoelement.play();
});
});