ben*_*ben 1 javascript jquery css3
我使用这段代码制作了一个CSS3 ajax加载器.id是ajaxloader的位置.此代码工作正常并且加载器正常运行,但是如果函数被调用两次,则Timeout将相互抵消,因为超时被分配给变量.不知何故,我想确保永远不会发生这种情况.这是我正在使用的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);
}
Run Code Online (Sandbox Code Playgroud)
由于每个变量都是窗口的对象,因此您可以这样做:
window['a_time'+new Date().getTime()] = setTimeout(function(){
ajaxloader(id);
},550);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
519 次 |
| 最近记录: |