函数参数中的逻辑错误
Logical error in function parameter?
第一次增量是10,就像它应该的那样,第二次迭代返回未定义。我认为它与设置超时有关?
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 中添加了一个函数,以便您可以将值传入。
另外,我修复了清除超时。 您正在将函数名称传递到其中,它需要一个引用计时器的 ID。
相关文章:
- 模版启动错误-类型错误(“参数”url'必须是字符串,而不是“+类型的url”)
- Node.js错误:参数太多上传批量数据时出错
- 为什么我会得到这个错误:ng:areq错误参数
- AngularJS'ng:areq错误参数"{controller}不是函数“;,CodeIgnite
- 控制器错误:参数不是函数,未定义
- 错误:参数'ContactController'不是函数,未定义
- “类型错误:参数 1 的 ..不是 Firefox 中的有限浮点值”
- AngularJS错误:“参数'FirstCtrl'不是一个函数,未定义”
- “未捕获的语法错误:参数列表后缺少 )”
- Javascript 未捕获的语法错误:参数列表后缺少 )
- 错误:参数 4 的值无效.属性“方法”:意外属性
- 语法错误:参数列表后缺少 )
- 我一直收到这个角度js错误:参数“示例控制器”不是一个函数,未定义
- 角度:'错误:areq错误参数'由于缩小
- 错误:ng:areq错误参数:参数'registerController'不是函数,未定义
- 引用错误:参数未在 Ember.js 中定义
- Angular js-错误:ng:areq错误参数-
- 为什么我得到错误参数是未定义的
- WebGL Fragment Shader构造函数错误-参数太多
- 错误:ng:areq错误参数和参数没有在ANGULARJS中定义