首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在窗口聚焦时在滚动上自动播放视频

问在窗口聚焦时在滚动上自动播放视频
EN

Stack Overflow用户
提问于 2016-02-04 04:05:57
回答 1查看 596关注 0票数 1

一个视频博客,其中的视频是800x600像素(占浏览器屏幕的大部分)。我正在使用带有属性'loop‘和'autoplay’的html标签

到目前为止,浏览器已经播放了10多个视频,所有这些视频都播放了一个档次!

我需要一段代码来播放一段视频一次,因为用户滚动到视频的焦点,并暂停视频的滚动焦点。

EN

回答 1

Stack Overflow用户

发布于 2016-02-04 04:23:45

如果视频以600px的高度均匀分布,让我们假设视频的边距至少为50px,这意味着每个视频的功能高度为700px。因此,您希望播放最靠近屏幕顶部的视频。

const qVideos = document.querySelectorAll('video');

^这假设您正在使用video元素播放视频并正在收集视频。

const calcVideoNumber = scrollPositionY => Math.floor( scrollPositionY / 700 );

^此函数接受您的滚动位置,并返回您在页面下方的700px (这应该是您的视频部分的高度)高区段的数量。

const stopPlaying = videos => Array.from(videos).forEach( video => video.pause() );

^停止播放所有已传递的视频

window.onscroll = event => { stopPlaying(qVideos); qVideos[calcVideoNumber(event.scrollY)].play() }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35186644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档