2013-10-22 44 views
-2

可以请你告诉我 不同的方式来在固定的时间间隔后定期执行同一任务的不同方式?

我用

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

什么是你想怎么办? 'setPageIntervale();'做什么? –

+6

为什么你需要一种不同的方式? – Reeno

+0

如果只应该调用一次(在清除间隔时出现这种情况),请查看window.setTimeout:https://developer.mozilla.org/de/docs/DOM/window.setTimeout – Reeno

回答

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); 
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); 
相关问题