gpt4 book ai didi

javascript - 我想将当前时间和持续时间转换为百分比

转载 作者:行者123 更新时间:2023-11-28 01:39:29 25 4
gpt4 key购买 nike

嘿,我想按百分比监控视频播放进度,以便当用户观看 25%、50% 和 75% 时发送警报。这是我到目前为止所拥有的。

var Currenttime1 = document.getElementById('video').attr('currenttime');
var Duration1 = document.getElementById('video').attr('duration');
console.log(Currenttime1);
console.log(Duration1);


function percenttime(){


var timemonitored = Duration1/Currenttime1 *100;

var alertsSent = 0;
if(timemonitored > 25 && alertsSent == 0)
{
console.log(timemonitored);
alert("player has reached 25%");
alertsSent++;
}
else if(timemonitored > 50 && alertsSent == 1)
{
alert("player has reached 50%");
alertsSent++;
}
else if(timemonitored > 75 && alertsSent == 2)
{
alert("player has reached 75%");
alertsSent++;

}
}

我有什么遗漏的吗?我输入 console.log 来查看 Duration1、Currenttime1 和 timemonitored 中的内容,但它没有填充这些值。这是 fiddle 链接。 http://jsfiddle.net/Ypczm/

最佳答案

  1. 检查你的语法,你的变量有时是大写的,有时不是
  2. 加载 jquery 后,仅使用 .attr() 等 jquery 函数...
  3. 您正在定义该函数但从未调用它。您预计该函数什么时候运行?

一种方法是创建一个间隔函数,每 1000 毫秒触发一次,并使用 jquery 获取当前的播放时间。

编辑:使用 jQuery 处理 JS:

$(function() {
var vid = $('#video'),
check,
reached25 = false,
reached50 = false,
reached75 = false;

vid.bind("play", function(event) {
var duration = vid.get(0).duration;

check = setInterval(function() {
var current = vid.get(0).currentTime,
perc = (current / duration * 100).toFixed(2);


if (Math.floor(perc) >= 25 &&! reached25) {
console.log("25% reached");
reached25 = true;
}
console.log(perc);
}, 1000);
});

vid.bind("ended pause", function(event) {
clearInterval(check);
});

});

JSFiddle

关于javascript - 我想将当前时间和持续时间转换为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21093704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com