Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动到时播放视频,但只播放一次视频_Javascript_Html_Video - Fatal编程技术网

Javascript 滚动到时播放视频,但只播放一次视频

Javascript 滚动到时播放视频,但只播放一次视频,javascript,html,video,Javascript,Html,Video,我想修改在上找到的代码。这几乎是我所需要的,只是我希望视频只播放一次。在上面的链接中找到的代码即使在去掉视频标签上的loop属性后也会滚动播放 在这里,您可以看到我所做的:添加了JS第4行、第23-26行和第34-38行。我试图创建一个函数来确定视频是否已完整播放,并仅在未播放视频时播放 下面是JS。任何帮助都将不胜感激。我已经胡闹了几个小时,一点运气都没有。(非常熟悉JS) var videos=document.getElementsByTagName(“视频”),分数=0.8; var

我想修改在上找到的代码。这几乎是我所需要的,只是我希望视频只播放一次。在上面的链接中找到的代码即使在去掉视频标签上的loop属性后也会滚动播放

在这里,您可以看到我所做的:添加了JS第4行、第23-26行和第34-38行。我试图创建一个函数来确定视频是否已完整播放,并仅在未播放视频时播放

下面是JS。任何帮助都将不胜感激。我已经胡闹了几个小时,一点运气都没有。(非常熟悉JS)


var videos=document.getElementsByTagName(“视频”),分数=0.8;
var once=新数组(videos.length);
函数checkScroll(){
对于(var i=0;i分数){
if(一次[i]==false){
video.play();
一次[我]=真;
}
} 
否则{
//video.pause();
}
}
}
$(文档).ready(函数(){
对于(var i=0;i
更改:

if (visible > fraction)
致:

if(可见>分数和&video.currentTime
这样你的视频就不会循环——只有在播放头还没有结束的情况下才会播放

JSFiddle:

以下是一些可能会有所帮助的信息。

更改:

if (visible > fraction)
致:

if(可见>分数和&video.currentTime
这样你的视频就不会循环——只有在播放头还没有结束的情况下才会播放

JSFiddle:

这里是,这可能会有帮助

if (visible > fraction && video.currentTime < video.duration)