在固定的时间间隔后定期执行相同任务的不同方式?

时间:2013-10-22 10:02:37

标签: javascript jquery

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

我用过

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

2 个答案:

答案 0 :(得分:1)

如果必须每15秒调用setPageIntervale(),请使用:

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

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

答案 1 :(得分: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);