当我在视频播放器上单击播放时,它会在页面上播放两个视频
When I click play on my video player it plays both videos on the page
我正在尝试用HTML5定制一个视频播放器,当我在顶部视频上推送播放时,它会播放页面上的两个视频。
这是我的小提琴:http://jsfiddle.net/BannerBomb/U4MZ3/27/
这是我的HTML:
<!--Video 1-->
<section id="wrapper">
<div class="videoContainer">
<video id="myVideo" controls preload="auto" poster="http://s.cdpn.io/6035/vp_poster.jpg" width="380" >
<source src="http://html-testing.github.io/2/videos/mikethefrog.mp4" type="video/mp4" />
<p>Your browser does not support the video tag.</p>
</video>
<div class="caption">Video1</div>
<div class="control">
<div class="btmControl">
<div class="btnPlay btn" title="Play/Pause video"><span class="icon-play"></span></div>
<div class="progress-bar">
<div class="progress">
<span class="bufferBar"></span>
<span class="timeBar"></span>
</div>
</div>
<!--<div class="volume" title="Set volume">
<span class="volumeBar"></span>
</div>-->
<div class="sound sound2 btn" title="Mute/Unmute sound"><span class="icon-sound"></span></div>
<div class="btnFS btn" title="Switch to full screen"><span class="icon-fullscreen"></span></div>
</div>
</div>
</div>
</section>
<!--Video 2-->
<section id="wrapper">
<div class="videoContainer">
<video id="myVideo" controls preload="auto" poster="http://s.cdpn.io/6035/vp_poster.jpg" width="380" >
<source src="http://html-testing.github.io/2/videos/mikethefrog.mp4" type="video/mp4" />
<p>Your browser does not support the video tag.</p>
</video>
<div class="caption">Video2</div>
<div class="control">
<div class="btmControl">
<div class="btnPlay btn" title="Play/Pause video"><span class="icon-play"></span></div>
<div class="progress-bar">
<div class="progress">
<span class="bufferBar"></span>
<span class="timeBar"></span>
</div>
</div>
<!--<div class="volume" title="Set volume">
<span class="volumeBar"></span>
</div>-->
<div class="sound sound2 btn" title="Mute/Unmute sound"><span class="icon-sound"></span></div>
<div class="btnFS btn" title="Switch to full screen"><span class="icon-fullscreen"></span></div>
</div>
</div>
</div>
</section>
如果你看看我提供的jsfiddle链接,你可以看到我编写的CSS和JavaScript。
要更改的代码太多,需要很长时间,所以我将解释发生了什么。
在几乎所有的事件中,您都会影响使用类选择器选择的元素的类和动画。执行此操作时,您正在选择两个视频共享的元素,因此当仅单击/悬停一个视频时,会影响两个视频。
例如
$('.btnPlay').on('click', function() { playpause(); } );
单击任一.btnPlay
(来自任一视频)时,您将调用暂停功能。
您只需要使用$(this)
或this
以及父/子选择器的组合来选择单击的视频,以确保您只对单击/悬停的视频执行操作。
你做错了几件事:
- id是唯一的,不能同时给
video
和id="myVideo"
,它们需要不同的id或相同的类 - 在您编写的JS中,
video = $("#myVideo")
之后是video[0]
,这是无法完成的,因为id是唯一的,因此您无论如何都只获取具有该id的第一个元素。video[0]
在某些代码中对您有效,但它远不适合id选择器
我建议使用父/子选择器来确保您选择了正确的视频,或者您可以复制代码,并为第二个视频单独执行它(假设您修复了第一个视频的代码,并创建了另一个不使用#myVideo
的选择器)。
如果你看看这个小提琴,我在第二个.videoContainer
中的每个类后面都加了一个"2",这样你的命令就不会选择它。
http://jsfiddle.net/U4MZ3/30/
相关文章:
- 在移动设备中自动播放视频
- Twitter Boostrap:模式窗口在重新播放模式窗口后不播放视频
- 可以't从peerConnection Connection播放视频
- 在一天中的某个时间自动在我的网站上播放视频
- 如何使用videojs开始播放视频时不显示字幕
- 鼠标悬停时播放视频/鼠标悬停时显示缩略图
- jwplayer seek()和onTime()来播放视频片段
- 噩梦与YouTube API和播放视频工作
- 使用MediaSource扩展播放视频播放列表
- Jwplayer可以'不要在Chrome中播放视频
- 使用Javascript在黑莓设备上播放视频
- video.js,播放视频,但在IE10上没有声音
- 在播放视频时调整屏幕大小
- youtube API播放视频、pauseVideo和stopVideo不工作
- 滚动播放视频,但只能播放一次
- 在安卓设备上使用html5播放视频
- 使用jquery循环播放视频
- 播放视频时如何隐藏标题
- 如何在 HTML 中播放视频
- 通过脚本播放视频在安卓上不起作用