运行部分函数一次,但每 5 秒运行一次函数的其余部分
Run part of function once, but run rest of function every 5 seconds
我有一个检查服务器连接状态的函数。我想每 5 秒运行一次在线检查。如果连接丢失,并且一直失败,则 fadeIn 错误消息也会继续运行(产生闪烁效果)。我怎样才能更改它,以便淡入淡出功能只运行一次,当它失败时,但仍会继续检查连接。
$(function () {
var url = 'https://examplesite.com/';
function checkOnline() {
$.get(url).done(function () {
window.location = url;
}).fail(function () {
$('.errortext').hide().fadeIn(500);
$('.loadingtext').fadeOut(500);
});
};
window.setInterval(function () { checkOnline(); }, 5000);
setTimeout(function () { checkOnline(); }, 2000);
});
跟踪淡入淡出效果是否已运行。然后在运行淡入淡出之前检查它。下面是一个使用名为 fadeFlag 的变量的示例:
var fadeFlag = false;
function fadeOnce() {
// Has fade happened already?
if (fadeFlag === false) {
// No. Then do the effects
$('.errortext').hide().fadeIn(500);
$('.loadingtext').fadeOut();
fadeFlag = true;
}
}
function checkOnline() {
$.get(url).done(function () {
window.location = url;
}).fail(function () {
// Try the fade effects
fadeOnce();
});
};
第一次调用fadeOnce()
时,它会运行效果,然后将fadeFlag
设置为 true
。下一次,它看到fadeFlag
true
,所以它什么也不做。
相关文章:
- 使用每500ms运行一次的jquery函数是个好主意吗
- Javascript函数,需要每隔30秒递减一次
- 当元素可见时,jQuery滚动函数会触发一次
- 使函数只运行一次(Javascript)
- 如何在Javascript中设置函数在上一次结束时启动
- 运行“;非“;单击另一个函数中的函数仅一次
- 角函数每秒钟增加一次
- JavaScript只有在最后一次被调用时才运行函数
- 如何只使用一次window.onload函数
- 如何每 10 秒调用一次 JS 函数,然后以角度激活一个函数
- 节点 js 在启动时调用函数一次
- 有人可以帮助我调试带有addClass和removeClass函数的“每个会话一次”cookie吗?
- 如何在 window.setInterval 中每分钟运行一次 getJSON 函数
- 一次将多个对象传递给函数参数
- 就绪函数上的指令只能执行一次
- 一段时间后调用函数,但只调用一次
- 如何加载一个html页面并在其中只需单击一次即可运行函数
- Javascript只使用setInterval()调用一个子函数一次
- 元素在JavaScript函数中只更改过一次
- 函数只更改一次内容