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。