我使用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;
}
答案 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;
}