Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每30秒执行一次函数jquery mobile?_Javascript_Jquery_Jquery Mobile_Cordova - Fatal编程技术网

Javascript 每30秒执行一次函数jquery mobile?

Javascript 每30秒执行一次函数jquery mobile?,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,我有一个jquery mobile phonegap应用程序。我希望在用户停留在特定页面上时每30秒执行一次函数 如果用户停留在一个特定页面上,比如page1,我希望每30秒执行一个函数 简而言之 如果活动页面为第1页 每30秒触发一次getmessages() 如何实现这一点使用settimeinterval 检查这个 您可以setInterval 代码: HTML: 单击按钮等待3秒钟,然后提醒“你好” 单击关闭警报框后,3秒钟后将出现一个新的警报框。这将永远持续下去 试试看 根据您的要求

我有一个jquery mobile phonegap应用程序。我希望在用户停留在特定页面上时每30秒执行一次函数

如果用户停留在一个特定页面上,比如page1,我希望每30秒执行一个函数

简而言之

如果活动页面为第1页 每30秒触发一次getmessages()

如何实现这一点

使用settimeinterval

检查这个


您可以
setInterval

代码:

HTML:

单击按钮等待3秒钟,然后提醒“你好”

单击关闭警报框后,3秒钟后将出现一个新的警报框。这将永远持续下去

试试看
根据您的要求更换
3000(3秒)->30000(30秒)

演示链接


如果您使用的是jQuery Mobile 1.4,则需要收听
pagecontainershow
pagecontainerhide
事件,以便根据页面
id
以间隔执行函数

在这些事件上检索页面的
id
,然后在页面隐藏时使用开关/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;
    }
}

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

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

myFunction()

})

})
<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>
setInterval(function() {
  // Do something every 30 seconds
}, 30000);
/* 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;
    }
}