gpt4 book ai didi

javascript - 函数参数逻辑错误?

转载 作者:行者123 更新时间:2023-12-02 18:20:42 24 4
gpt4 key购买 nike

第一次增量是10,就像它应该的那样,第二次迭代返回未定义。我认为它与 setTimeout 有关?

var time = 200;

功能:

function repeatingfunction(increment) { 
if (time>5){
time=time-39
};
if (mausunten == true){
//alert(increment);
setTimeout(repeatingfunction, time);
$("#slider-vertical").slider("value", ($("#slider-vertical").slider("value"))+increment);
refreshCalculation();
};
if (mausunten == false){
clearTimeout(repeatingfunction);
};
}

调用和停止函数:

$("#plus1").mousedown(function(){
mausunten = true;
repeatingfunction(10);
});

$(document).mouseup(function() {
mausunten = false;
time = 200;
});

最佳答案

您不会将该值传递给后续调用。试试这个...

var timeoutID;

function repeatingfunction(increment) {
if (time>5){
time=time-39
};
if (mausunten == true){
//alert(increment);
timeoutID = setTimeout(function() {
repeatingfunction(increment);
}, time);
$("#slider-vertical").slider("value", ($("#slider-vertical").slider("value"))+increment);
refreshCalculation();
};
if (mausunten == false){
clearTimeout(timeoutID);
};
}

我在setTimeout中添加了一个函数,以便您可以传入值。

此外,我还修复了clearTimeout。您将函数名称传递给它,它需要一个引用计时器的 ID。

关于javascript - 函数参数逻辑错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18848665/

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