我使用这段代码制作了一个 CSS3 ajax 加载器。id 是 ajaxloader 的位置。这段代码工作正常,加载器功能正常,但是如果函数被调用两次,超时将相互抵消,因为超时被分配给一个变量。不知何故,我想确保这永远不会发生。这是我正在使用的 javascript
function ajaxloader(id) {
var i = $("#" + id + " .ajaxpieces").length;
var s = $("#" + id + " .ajaxpieces").filter(function() {
return ($(this).css('background-color') == "rgb(0, 128, 0)");
}).next();
if (s.length < 1) {
s = $("#" + id + " .ajaxpieces").first();
}
s.css('backgroundColor','green').siblings().css('backgroundColor','grey');
ajax_ii = setTimeout(function(){ajaxloader(id);},550);
}
function killloader() {
clearTimeout(ajax_ii);
}