Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript停止事件流_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript停止事件流

Javascript停止事件流,javascript,jquery,javascript-events,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 =

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

我可以解释整件事,但我认为如果我只是发布代码,就会清楚得多

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
});
var Images=[“Images/1.jpg”、“Images/2.jpg”、“Images/3.jpg”、“Images/4.jpg”]
var ImageContainer=$(“#图像”);
变量图像=$(“
所以我的主要问题是:我如何实现停止、更改和启动功能。我的第二个问题是:这是链接事件的好方法吗?我以前尝试过其他方法,但它们很快就会变得丑陋。我也不是一个真正的javascript专家,所以我的示例中可能有一些非常奇怪的代码;“让我觉得我做错了


亲切问候纠察队员。

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

对不起,我不明白问题的方向。如果调用Animate.End();?Well End()只是做了一些事情,然后再次调用start。所以调用End()并不能阻止它。但是我想我通过创建一个函数stop()来修复它,该函数调用jquery stop()来停止fadein或fadeout。