我对progressbar有问题。我想在加载下一个函数后改变进度条。这是我的代码:
var tick=1;
var count=10;
function example(){
$('#progress div').css('width',(tick*count)+'%');
tick++;
}
$.when($.getJSON("data1.json",function(_a){data1=_a;})).done(function(){
example();
$.when(someLoadFunction).done(function(){
example();
$.when(someLoadFunction2).done(function(){
example();
//7 more...
});
});
});如何简化脚本,以便将来可以轻松扩展。
发布于 2016-10-14 17:58:43
创建一个要调用的函数数组,然后遍历这些函数。不是jQuery用户,因此可能有更有效的方法来实现这一点,但至少这是可合理维护的。或者就像@A.Wolff建议的那样。使用链接。
注意:如果你想在每个函数中使用不同的回调函数,可以使用function/callback将对象文字传递到函数中(在这种情况下不需要回调参数)。
$.when($.getJSON("data1.json", function(_a) {
data1 = _a;
})).done(function() {
var functionArr = []; //array of functions
loopWhen(functionArr, example());
});
function loopWhen(functionArr, callback) {
(var i = 0; i < functionArr.length; i++) {
$.when(functionArr[i]).done() {
callback();
};
};
};https://stackoverflow.com/questions/40040083
复制相似问题