JQuery异步图像幻灯片预加载

时间:2012-10-17 09:30:27

标签: jquery asynchronous callback promise

我正在使用JQuery动画框架编写脚本。在这种情况下,我需要有一系列不同的动画。当新动画开始时,我需要更改页面的背景图像。

动画框架(称为JSTween)提供以下回调:

onStart: function () {},
onStop: function () {}

我正在寻找以下伪代码的JQuery实现:

onStart: function () {
    load new background;
}

onStop: function () {
    // This animation has ended, about four seconds have passed
    on new background loaded: {
       // Change background
    }

    // Start new animation async
}

我一直在寻找$.when和类似工具,但我无法弄清楚如何正确使用它们。

1 个答案:

答案 0 :(得分:0)

您应该实现一些类似$.when的函数。基本上,您注册了一个在onStart函数的运行时上下文中运行的函数:

var background_callback;

var loadNewBackground = function() {
  background_callback();
}

var onBackgroundLoaded = function (callback) {
  background_callback = callback;
}

您的代码已修改将是:

onStart: function () {
    // load new background;
    loadNewBackground();
}

onStop: function () {
    // This animation has ended, about four seconds have passed
    onBackgroundLoaded(function() {
       // Change background
    });

    // Start new animation async
}