如果视频完全不在视野范围内,暂停视频的更短方式
shorter way to pause a video if it is fully out of view
我有这段代码可以在完全看不到视频时暂停视频
它有效,但我想缩短它
例如,避免 forEach
循环,因为这是第
页上唯一的视频
也 - 也许是为了避免单独的 modify
函数 - 但将 el.pause()
放在第一个 js 代码块中
我尝试了各种方法并在控制台中遇到各种错误
请帮忙
<video id='vsingle' src='lorem.mp4' poster='lorem.jpg' controls></video>
let io = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if(!entry.isIntersecting){modify(entry.target);}
});
});
function modify(el){el.pause();}
$(document).ready(function(){
io.observe(document.querySelector('#vsingle'));
});
您可以通过删除 modify
函数稍微简化此代码:
let io = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if(!entry.isIntersecting){
entry.target.pause()
}
});
});
我有这段代码可以在完全看不到视频时暂停视频
它有效,但我想缩短它
例如,避免 forEach
循环,因为这是第
页上唯一的视频
也 - 也许是为了避免单独的 modify
函数 - 但将 el.pause()
放在第一个 js 代码块中
我尝试了各种方法并在控制台中遇到各种错误
请帮忙
<video id='vsingle' src='lorem.mp4' poster='lorem.jpg' controls></video>
let io = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if(!entry.isIntersecting){modify(entry.target);}
});
});
function modify(el){el.pause();}
$(document).ready(function(){
io.observe(document.querySelector('#vsingle'));
});
您可以通过删除 modify
函数稍微简化此代码:
let io = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if(!entry.isIntersecting){
entry.target.pause()
}
});
});