ここでは、可変タイマーはtimerIncrement
関数の外で宣言されています。可変スコープのため、関数内の値を変更することは外に変更しないことがわかっています。しかし、私は本当にこのようなものを考え出す必要があります。そうなると、idleTime > 5
は新しいタイマーを使用します。変数値をトップレベル変数に反映する関数内で変数値を更新する方法
どうすればこの問題を解決できますか? setInterval
への最初の呼び出しが行われたときに間隔が設定されているので
jQuery(document).ready(function($) {
var timer = 1000;
// //increment the idle time counter every sec.
var idleInterval = setInterval(timerIncrement, timer); // 1 sec
function timerIncrement() {
while(idleTime < 5){
console.log('test '+idleTime);
idleTime = idleTime + 1;
}
timer = 2000;//how to make this take affect on the top so that setInterval run at this newly set timer
console.log('reached max');
}
}