簡體   English   中英

運行部分功能一次,但每5秒運行其余功能

[英]Run part of function once, but run rest of function every 5 seconds

我有一個檢查服務器連接狀態的功能。 我想每5秒運行一次checkOnline。 如果連接丟失,並且連接仍然失敗,則淡入錯誤消息也將繼續運行(創建閃爍效果)。 我該如何更改它,以便淡入淡出功能在失敗時僅運行一次,但仍會繼續檢查連接。

$(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 下次,它將看到fadeFlagtrue ,因此它什么也不做。

暫無
暫無

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

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