继续这个问题
我有JSfunction每隔60秒由ajax刷新一次。
var fetchData = function() { $.ajax( { url: "chkProfile.php", type: "POST", data: { }, dataType: "JSON", success: function (jsonStr) { } }); } fetchData(); var remainTime = 60 - parseInt((new Date().getTime() / 1000) % 60); setTimeout(function() { fetchData(); setInterval(fetchData, 60000); }, remainTime*1000);
此function运行正常。 因此,该函数将基于其余秒数每60秒(1分钟)运行一次。 示例我在18:51:30刷新页面然后我们现在剩下的时间是30秒。 满足60秒后再运行ajax刷新。
但是,当我尝试直接更改日期时间PC(Raspberry Pi 3)时遇到问题。 示例:我设置18:53:40,然后我可以看到raspberry pc更新了。 但每60秒的function是不正确的。
我想要的是,无论我改变什么时间,所以JS函数知道rest60秒后剩下多少秒,然后运行自动刷新function。
更新
检查后,我发现问题是
例:
Time1: Current time: 18:30:15
然后我改变了
Time2: To be: 18:30:01
autorefresh函数仍然读取我更改的Time1而不是Time2。 因此,自动刷新仍将基于Time1刷新。
试试这种方法:
var fetchData = function(){ $.ajax({ url: "chkProfile.php", type: "POST", data: { }, dataType: "JSON", success: function (jsonStr) { } }); } fetchData(); setInterval(function(){ var second = parseInt((new Date().getTime() / 1000) % 60); if(second === 0) { fetchData(); } },1000);
以上就是jQuery教程分享jQuery基于当前rest第二次每分钟自动刷新并基于PC时间更新相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/561498.html