javascript - 带倒计时显示的 SetInterval/SetTimeout

标签 javascript jquery html ajax

我想有一个函数设置为每隔一段时间运行一次

setInterval(function, 360000);

当它被调用时,它会从 Ajax/Flask 加载一些信息,但不会刷新或重新加载页面。

如何在 div 中显示倒计时,以显示下一次触发功能/间隔之前的剩余时间?

最佳答案

与其使用非常长的计时器(在您列出的代码中为六分钟),不如使用更短的计时器,例如一秒定时器。每次计时器触发时更新您的 div,并跟踪它被调用的次数。例如:

var secondsBetweenActions = 360;
var secondsRemaining = secondsBetweenActions;
setInterval( function() {
    updateStatus( secondsRemaining );
    secondsRemaining--;
    if( secondsRemaining <= 0 ) {
        doAction();
        secondsRemaining = secondsBetweenActions;
    }
}, 1000 );

现在您只需要使用 jQuery 实现 updateStatus(),它应该在您的状态 div 中显示 secondsRemaining,以及 doAction( ) 它会执行您需要执行的任何操作。

关于javascript - 带倒计时显示的 SetInterval/SetTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350003/

相关文章:

javascript - 如何在没有事件的情况下调用js函数

php - X-可编辑从其他元素触发

javascript - jQuery 中的 $().ready() 是否在所有脚本文件加载后触发?

javascript - 奇怪的 DOM 树 JavaScript 问题

从索引链接加载页面时,Javascript 未加载

html - 我有 HTML 和 CSS 布局问题

html - 包装器 float 影响 A 标签悬停区域

javascript - 从前一个函数添加到数组

jquery - 使用 jquery Draggable 将图像拖动到另一个图像下方

javascript - 拖放表格 - 将单元格移动到不同的列