如何检查函数是否执行

时间:2014-12-16 12:18:32

标签: javascript html5

我使用javascript创建了一个loader / spinner。旋转功能一直有效,直到每个过程结束。

我有一个停止微调器的功能。如果发生任何错误,则不会执行此停止功能。

任何人都可以帮我检查是否执行了停止功能,并在时间限制后警告旋转功能是否退出。

一段javascript代码:

function loaderstart()
{
    var x = document.getElementById("loader");
    var xx = document.getElementById("img");
    x.style.display = "block";
    xx.style.display = "block";

    setTimeout(function(){
        if(loaderstop() != true){
            alert("check your network connection");
        }
    },10000);   
}

function loaderstop()
{
    var y = document.getElementById("loader");
    var yy = document.getElementById("img");
    y.style.display = "none";
    yy.style.display = "none";
    return true; 
}

2 个答案:

答案 0 :(得分:2)

您可以通过设置和检查全局布尔变量来实现一种简单的方法。

var hasStopped = false;
function loaderstart()
{
var x = document.getElementById("loader");
var xx = document.getElementById("img");
x.style.display = "block";
xx.style.display = "block";
setTimeout(function(){if(!hasStopped){alert("check your network connection");}},10000);    
}

function loaderstop()
{
hasStopped = true;
var y = document.getElementById("loader");
var yy = document.getElementById("img");
y.style.display = "none";
yy.style.display = "none";
return true; 
}

答案 1 :(得分:0)

将超时ID存储在变量中,并在loaderstop

中查看
var TO = 0;

function loaderstart() {
    var x = document.getElementById("loader");
    var xx = document.getElementById("img");
    x.style.display = "block";
    xx.style.display = "block";

    TO = window.setTimeout(function(){
        alert("check your network connection");
    }, 10000);    
}

function loaderstop()
{
    var y = document.getElementById("loader");
    var yy = document.getElementById("img");
    y.style.display = "none";
    yy.style.display = "none";

    if (TO) {
        window.clearTimeout(TO);
    }

    return true; 
}

window.clearTimeout()