我有一个 jquery 循环滑块,我需要在播放视频或到达显示视频的幻灯片时暂停。(这些选项中的任何一个都可以,但我不知道如何暂停具有特定类或 ID 的幻灯片。)我正在使用video.js来显示视频。
发生的事情是当我按下播放时视频开始播放,但是当我将鼠标从视频上移开时,它会自动转到下一张幻灯片。如果我点击寻呼机缩略图,它会保持暂停状态,但如果幻灯片正常进行并且我按下播放键,它会遵循循环“超时”设置的规则。
我正在寻找的是一种在播放视频时暂停幻灯片的方法 - 通过在视频开始播放时调用事件,或者在到达视频幻灯片时完全暂停幻灯片。
我脑子里有这个:
<script>
jQuery(document).ready(function($) {
$(".project_slides").cycle({
fx:'fade',
timeout: 5000,
prev : '#prev',
next : '#next',
pager : '#pager',
pause: 1,
pagerAnchorBuilder: function(idx, slide) {
return '#pager li:eq(' + (idx) + ') a';
}
});
$('#pager a').click(function() {
$('.project_slides').cycle('pause');
});
function pauseitall() {
$('.project_slides').cycle('pause');
}
});
</script>
在体内:
<div class="project_slides">
<div class="slide">
<img src="/media/{{ Slide.media }}" alt="{{ Slide.caption }}" />
</div>
<div class="slide">
<video id="video_11"
class="video-js vjs-default-skin"
controls width="512"
height="406"
poster="/media/images/video-poster.png"
preload="auto" loop>
<source type="video/mp4" src="/media/{{ Slide.media }}">
</video>
<script>
$(function() {
_V_("video_11").ready(function() {
var myPlayer = this;
addEvent(myPlayer.video, "play", function () {
pauseitall()}, false);
myPlayer.play();
});
});
</script>
</div>
</div>
显然,pauseitall() 函数没有被正确调用,但我一直在努力解决这个问题(在这么多的迭代中),我最终只想在这里发布它,看看是否有人知道解决方案。
供参考,使用 jQuery 1.7.2、jquery cycle 2.9999.5 和 Video.js 3.2.0