このコードを使用して CSS3 ajax ローダーを作成しました。id は ajaxloader の場所です。このコードは正常に動作し、ローダーは適切に機能しますが、関数が 2 回呼び出されると、タイムアウトが変数に割り当てられているため、タイムアウトが互いに打ち消し合います。どうにかして、そうならないようにしたい。これが私が使用している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);
}