如何使用.load(function(){对一个大函数

时间:2015-06-15 14:15:17

标签: javascript jquery ajax css3

我在网页中有5个相当大的CSS3 / jQuery链动画,这些动画出现在5个子页面上,当用户导航到每个(5)个子页面时。

我想使用/具有jQuery的效果

$( img ).load(function() {
  // Run code
});

除了我只想检查图像是否在 每个函数中完全加载..如果它们正在加载/仍然加载显示一个简单的'旋转动画gif '在该功能中代替我的动画;一旦动画中的所有图像都加载,然后显示动画并.hide(); spinner.gif

function one() {

// tons of animation code

图片在CSS 中作为背景图片(css3动画; jQuery主要设置触发器)

1 个答案:

答案 0 :(得分:3)

You would want multiple deferred objects to pass them into $.when(). I believe you're looking for something like this:

var d1 = new $.Deferred();
var d2 = new $.Deferred();
var d3 = new $.Deferred();

$.when(d1, d2, d3).then(function() {
   // perform your animations here
});

$(img1).load(function() {
  d1.resolve();
}

$(img2).load(function() {
  d2.resolve();
}

$(img3).load(function() {
  d3.resolve();
}