+
95
-

回答

举个html的例子

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Intersection Observer</title>
    <style>
        video {
          width: 100%;
          height: auto;
        }
    </style>
</head>

<body>
  
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <video src="//repo.bfw.wiki/bfwrepo/video/modushanghai.mp4" loop controls muted></video>
    <script>
        const observer = new IntersectionObserver((entries) => {
  entries.forEach((entry) => {
    if (entry.isIntersecting) {
      const video = entry.target;
       video.play();
          console.log("开始")
     // observer.unobserve(video);//解除监听
    } else {
         const video = entry.target;
       video.pause();
       console.log("暂停")
      // 元素未进入可视区域时执行的操作
    }
  });
}, {threshold: 0.1}); // 设置阈值为 0.5,表示当元素与视图框相交面积达到一半时开始观察
const videos = document.querySelectorAll('video');
videos.forEach((video) => {
observer.observe(video);
});
    </script>

</body>

</html>

网友回复

我知道答案,我要回答