【发布时间】:2020-09-06 19:32:13
【问题描述】:
我希望播放/暂停一个或多个视频,具体取决于它们是否在视口中。
我知道这可以通过 jQuery(和插件)来实现,所以我尝试使用 isInViewport 插件以及以下代码,但收到如下所示的错误。
HTML
<script src="scripts/jquery.js"></script>
<script src="scripts/isInViewport.js"></script>
[...]
<video id="video1" src="file.mp4" width="50%"></video>
[...]
<script src="scripts/script.js"></script>
JS
var $video = document.getElementsByTagName("video1");
if ($video.is(":in-viewport")) {
$video.play();
} else {
$video.pause();
};
控制台
TypeError: $video.is is not a function
【问题讨论】:
-
您可以使用Intersection Observer API - 这可以让您在事物进入/离开视口时进行监听
-
很高兴看到一个如何在我不熟悉的特定用例中使用 Intersection Observer API 的示例。
标签: javascript html jquery plugins jquery-plugins