在我在页面上运行后续脚本之前,我要加载许多测试条件和文件。有没有办法在加载所有文件后触发回调?
this post建议以下内容并传达我的意图,但实际上并不起作用。完成中的函数在1.js或2.js完成加载之前触发。
Modernizr.load([
{
test: App.isSmallScreen,
yep: '1.js',
nope: '2.js'
},
{
test: App.isTouch,
yep: '3.js'
},
{
test: Modernizer.csstransitions,
nope:4.js
},
{
complete: animationInit
}
]);
答案 0 :(得分:0)
提前为这么便宜的伎俩道歉,但这是我能想到的最好的。它肯定可以改进。
嵌入这个或扩展Modernizr可能会相当简单,以某种方式构建一个“完成”的事件来更干净地完成这个。
var completed = []
var complete = function(i) {
completed.push(i)
if (completed.length === 3) animationInit();
}
Modernizr.load([
{
test: App.isSmallScreen,
yep: '1.js',
nope: '2.js',
complete: function() { complete(1); }
},
{
test: App.isTouch,
yep: '3.js'
complete: function() { complete(2); }
},
{
test: Modernizer.csstransitions,
nope:4.js
complete: function() { complete(3); }
}
]);