Javascript setInterval没有使其成为函数
Javascript setInterval not making it into function
好的,我试图在子函数中执行setInterval,但它没有在其中。。。我的警报没有因为这个而响起:
var doneVar= 0;
var groupsVar= 4;
var interval = setInterval(process_chunk, 1000);
var $myTree= $("#myTree");
var chunkLength = myArray.length / groupsVar;
process_chunk = function() {
alert("we are after chunk");
var arrayChunk = myArray.slice(doneVar*chunkLength, (doneVar + 1)*chunkLength);
//alert("we are in function!!");
$.each(arrayChunk, function(key, item){
$myTree.jstree("uncheck_node", "#"+item);
});
doneVar += 1;
if (doneVar === groupsVar) {
interval.clearInterval();
}
}
process_chunk
在将其传递到setInterval时尚未被分配值。移动线路:
var interval = setInterval(process_chunk, 1000);
在匿名函数分配给process_chunk
之前(以及之后):
doneVar += 1;
或者,如果您正在寻找提升函数,则使用函数声明而不是表达式:
function process_chunk() {
两个版本都能解决您的问题。
在使用函数之前需要声明它。
看跌process_chunk = function() { ... });
之前var interval = setInterval(process_chunk, 1000);
如果你只使用区间的函数,请使用这个(我喜欢的方法,你的方法没有错)
var doneVar= 0;
var groupsVar= 4;
var $myTree= $("#myTree");
var chunkLength = myArray.length / groupsVar;
var interval = setInterval(function() {
alert("we are after chunk");
var arrayChunk = myArray.slice(doneVar*chunkLength, (doneVar + 1)*chunkLength);
//alert("we are in function!!");
$.each(arrayChunk, function(key, item){
$myTree.jstree("uncheck_node", "#"+item);
});
doneVar += 1;
if (doneVar === groupsVar) {
interval.clearInterval();
}
},1000);
应该这样做,这样做并在间隔内定义函数可以避免许多问题,比如在这种情况下,在间隔中设置函数之前需要定义函数。这是另一个保持你风格的版本。
var doneVar= 0;
var groupsVar= 4;
var $myTree= $("#myTree");
var chunkLength = myArray.length / groupsVar;
var process_chunk = function() {
alert("we are after chunk");
var arrayChunk = myArray.slice(doneVar*chunkLength, (doneVar + 1)*chunkLength);
//alert("we are in function!!");
$.each(arrayChunk, function(key, item){
$myTree.jstree("uncheck_node", "#"+item);
});
doneVar += 1;
if (doneVar === groupsVar) {
interval.clearInterval();
}
}
var interval = setInterval(process_chunk, 1000);
我想我刚才注意到的另一件事是,你使用process_chuck
而不是var process_chuck
开关也会引起问题。固定在第二个答案中,不适用于第一个答案。
相关文章:
- 可以't获取setInterval函数以使用javascript中的this.function_name调用另一
- 使用setInterval()函数进行图像闪烁
- 在setInterval函数之前声明时未定义对象
- 使用setInterval调用原型函数时出现问题
- setInterval函数不会更改视图中的$scope
- “单独列搜索”上的Datatables setinterval函数
- 如何使用setInterval执行函数
- setInterval可更改函数的背景
- Javascript setInterval 函数来清除自身
- setInterval调用具有未定义参数的函数
- setinterval函数,使用变量的前一个/旧值
- 如何在 setinterval 函数中访问 javascript 数组值
- 如何在 window.setInterval 中每分钟运行一次 getJSON 函数
- 在 jquery 移动中离开页面时结束 SetInterval 函数
- 我将如何在jQuery中切换setInterval函数的状态
- 在setInterval函数内部使用.call()传递参数
- Javascript 函数 setInterval() 只工作一次
- 哪一个最好在 jquery 中连续重复函数 setInterval 或回调函数
- 使用函数setinterval javascript错误使用函数
- 在同步函数中调用异步函数(setinterval)后返回值