-3

你能告诉我在固定时间间隔后定期执行相同任务的不同方法吗

我用了

function setPageIntervale(){
    var timer= setInterval(function() {
        $("#RLTRightDiv").innerHTML='';
        $("#RLTLeftDiv").innerHTML='';
        $.mobile.changePage($("#realTimeScreen"),{transition:'none'});
        clearInterval(timer);   
        setPageIntervale();
        // saveDataOnHtmlFile2();
    }, 15000);
}
4

2 回答 2

1

如果setPageIntervale()必须每 15 秒调用一次,请使用以下命令:

function setPageIntervale(){
    $("#RLTRightDiv").innerHTML='';
    $("#RLTLeftDiv").innerHTML='';
    $.mobile.changePage($("#realTimeScreen"),{transition:'none'});
    // clearInterval(timer);   <-- remove this
    // saveDataOnHtmlFile2();
}

var timer = setInterval(function() {
    setPageIntervale();
}, 15000);
于 2013-10-22T10:10:15.170 回答
0

在函数之外设置间隔:

function clearDivs(){
   $("#RLTRightDiv").innerHTML='';
   $("#RLTLeftDiv").innerHTML=''; 
   $.mobile.changePage($("#realTimeScreen"),{transition:'none'});
}

var timer = setInterval(function() {       
   clearDivs();
}, 15000);

setTimeout或者,如果您要求它仅在某种条件下运行,您可以使用该功能。

function clearDivs() {
   $("#RLTRightDiv").innerHTML='';
   $("#RLTLeftDiv").innerHTML='';
   $.mobile.changePage($("#realTimeScreen"),{transition:'none'});

   //If you require a condition, set it here.
   if (isTrue) {
      //If the given condition is true clear the divs after 15 seconds.
      setTimeout(function() {             
         clearDivs();
      }, 15000);
   }
}
//Call the div initially after 15 seconds
setTimeout(function() {             
   clearDivs();
}, 15000);

根据您的评论,如果您希望 div 第一次在 15 秒后清除,然后每次 1 秒后清除,请执行以下操作:

function clearDivs() {
   $("#RLTRightDiv").innerHTML='';
   $("#RLTLeftDiv").innerHTML='';
   $.mobile.changePage($("#realTimeScreen"),{transition:'none'});

   //Re-Call this function every 1 second.
   setTimeout(function() {
      clearDivs();
   }, 1000);
}
//Clear the divs after 15 seconds.
setTimeout(function() {
   clearDivs();
}, 15000);
于 2013-10-22T10:11:53.137 回答