gpt4 book ai didi

javascript - 更新变量时出现 Javascript 函数错误

转载 作者:行者123 更新时间:2023-12-02 14:41:54 25 4
gpt4 key购买 nike

我在使用 JavaScript 函数更新变量 q 的值时遇到问题。我有一个计时器,当按下“播放”时启动,然后连续触发当前需求函数

$(document).ready(function(){

$("#main_video").on(
"timeupdate",
function(event){
currentDemand(this.currentTime);
});
});

// Initiate Demand
var q = 0;

function currentDemand(currentTime){

console.log(currentTime);

if ( 0 <= currentTime < 10) {
q === 0;
}
else if ( 10 <= currentTime < 12.5 || 57.5 <= 60) {
q === 1;
}
else if ( 12.5 <= currentTime < 17.5 || 55 <= currentTime < 57.5) {
q === 2;
}
else if ( 17.5 <= currentTime < 20 || 50 <= currentTime < 55) {
q === 3;
}
else if (20 <= currentTime < 25 || 47.5 <= currentTime < 50) {
q === 4;
}
else if ( 25 <= currentTime < 27.5 || 45 <= currentTime < 47.5 ) {
q === 5;
}
else if ( 27.5 <= currentTime < 32.5 || 42500 <= currentTime < 45 ) {
q === 6;
}
else if ( 32.5 <= currentTime < 35 || 40 <= currentTime < 42.5 ) {
q === 7;
}
else if ( 45 <= currentTime < 47.5 ) {
q === 8;
}

console.log(q);
$("#currentDemand").text(q);
}

currentTime 正在正确记录应将其放入间隔中的值,但未设置 q。它可能与范围有关,我只是不知道如何修复它,以便正确更新 q 并将其放入 #currentDemand div 中。

如何设置q进行更新?

最佳答案

这不是测试 currentTime 的正确方法介于两个值之间:

else if ( 10 <= currentTime < 12.5 || 57.5 <= 60) {

它的解析就像你写的:

else if ( ((10 <= currentTime) < 12.5) || (57.5 <= 60)) {

57.5总是小于60 ,整个表达式将始终为真。但是10 <= currentTime < 12.5也始终为真,因为 10 <= currentTimetruefalse ,并且它们被转换为 10当与另一个数字进行比较时。并且1和0都小于12.5。

应该写成:

else if ( (10 <= currentTime && currentTime < 12.5) || (57.5 <= currentTime && currentTime < 60) ) {

关于javascript - 更新变量时出现 Javascript 函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36945695/

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