javascript - 向下滚动一定数量的像素后如何重新启动视频?
问题描述
所以我希望能够在某个滚动点(比如说 80 像素)之后停止并重新启动视频,并且我尝试了一些东西但它不起作用。我对 JS 非常缺乏经验,所以请让我放松一下,哈哈
这对我来说似乎是解决方案,但它会暂停而不是重新启动,而且它甚至不起作用......
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
video.pause();
} else {
video.play();
}
}
解决方案
根据您共享的代码,解决方案应如下所示。它适用于我在答案末尾共享的 Codepen 链接。
如果您的视频来自 YouTube:
<iframe class="youtube-video" width="560" height="315" src="https://www.youtube.com/embed/glEiPXAYE-U?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe>
您的 JS 应如下所示:
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
$('.youtube-video')[0].contentWindow.postMessage('{"event":"command","func":"' + 'pauseVideo' + '","args":""}', '*');
} else {
$('.youtube-video')[0].contentWindow.postMessage('{"event":"command","func":"' + 'playVideo' + '","args":""}', '*');
}
}
归功于这支笔的视频触发器:https ://codepen.io/briangelhaus/pen/meeLRO
演示:Codepen
推荐阅读
- angular - Spring更改数据库中的数据时如何实现角度变化检测
- javascript - Sass :first-child 选择器不影响 span 标签
- arrays - 列表、元组和数组作为数据结构有什么区别?
- python - 文件不存在时无法绕过错误
- selenium - 试图在 selenium 和 beautifulsoup 的空列表中获取 url
- ffmpeg - -use_wallclock_as_timestamps 在直播中增加延迟
- python - 在一个循环中将所有数据帧合并在一起
- visual-studio-code - 如何在 Visual Studio Code 中轻松地在 python、pascal 和 javascript 语言之间进行切换?
- c# - 一次替换多个文本框中的 '\n'
- c# - 局部变量 - 开关盒