Javascript停止事件流程

时间:2009-11-07 14:55:34

标签: javascript jquery javascript-events

首先抱歉这个奇怪的标题,但我不知道怎么称呼这个。我正在尝试为图像创建幻灯片。实际上它更像是一个淡入淡出的节目。

我可以解释整个事情,但我认为如果我刚发布我的代码就更清楚了。

var Images = ["images/1.jpg", "images/2.jpg", "images/3.jpg", "images/4.jpg"]
var ImageContainer = $("#Images");
var Image = $("<img />");
var Counter = 0;

var Animate = {
    Start: function() {
        var that = this;
        Image.attr("src", Images[Counter]);
        ImageContainer.append(Image.fadeIn(that.Middle()));
    },

    Middle: function() {
        var that = this;
        setTimeout(function() {
            that.End();
        }, 2000);
    },

    End: function() {
        var that = this;
        Image.fadeOut(function() {
            Counter = Counter + 1;
            that.Start();
        })
    }
}

Animate.Start();

$("#Button").click(function() {
    //Stop the animation; //Change counter value; //Start animation
});

所以我的主要问题是:如何停止,更改和启动功能。我的第二个问题是:这是一个链接事件的好方法吗?之前我尝试过其他方法但是它们变得非常快。我也不是一个真正的JavaScript专家所以也许在我的例子中有一些非常奇怪的代码。代码如“var that = this;”让我觉得我做错了。

亲切的问候Pickels。

1 个答案:

答案 0 :(得分:2)

阅读this后,您将能够回答自己的问题。您可以使用调用应用替换var that = this;(已经有很多关于此问题的文档和问题)。