簡體   English   中英

jquery mobile每隔30秒執行一次函數?

[英]Execute a function every 30 seconds jquery mobile?

我有一個jquery手機差距應用程序。 我想每30秒執行一次用戶停留在特定頁面上的功能。

如果用戶停留在特定頁面上說第1頁,我想每隔30秒執行一次功能,

用簡單的話說

如果活動頁面是page1 fire getmessages(),每30秒。

我如何實現這一目標

使用settimeinterval

檢查這個演示

<div id="div2>
<input type="text" name="divText" value="q3"/>
</div>

setInterval(function() {
 alert('HI')
}, 30000);

時間以毫秒為單位(1000 = 1秒)

你可以setInterval

碼:

$(document).ready(function(){
function myFunction()
{
setInterval(function(){alert("Hello")},3000);
}

$('#click').click(function(){

myFunction()

})

})

HTML:

<p>Click the button to wait 3 seconds, then alert "Hello".</p>
<p>After clicking away the alert box, an new alert box will appear in 3 seconds. This goes on forever...</p>
<button id="click">Try it</button>

根據您的要求更換3000(3 sec) --> 30000 (30 sec)

演示鏈接http://jsfiddle.net/dhana36/2c4ps/

如果您正在使用jQuery Mobile 1.4,則需要監聽pagecontainershowpagecontainerhide事件,以便根據頁面id執行間隔

檢索這些事件上的頁面id ,然后使用switch / case執行函數以及隱藏頁面時的clearInterval

/* setInterval function's name */
var interval;

/* 1) On page show, retrieve page's ID and run checkPage()
   2) On page hide, clearInterval() */
$(document).on("pagecontainershow", function () {
    var activePage = $.mobile.pageContainer.pagecontainer("getActivePage")[0].id;
    checkPage(activePage);
}).on("pagecontainerhide", function () {
    clearInterval(interval);
});

/* Run function(s) based on page's ID */
function checkPage(page) {
    switch (page) {
        case "p1":
            interval = setInterval(function () {
                /* function(s) */
            }, 30000);
            break;
        case "p2":
            interval = setInterval(function () {
                /* function(s) */
            }, 30000);
            break;
    }
}

演示

工作小提琴

參考鏈接

setInterval(function() {
  // Do something every 30 seconds
}, 30000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM