一种在JQuery中链接一系列事件的方法?

我有一些事情需要一个接一个地进行,并非所有方法都有回调function,那么将这些事件链接在一起的最佳方法是什么?

我有类似的东西

关闭滑块>删除旧内容>添加新内容>重新打开滑块

我是JQuery的新手所以这看起来很明显,但我感谢任何帮助!

您可以使用队列和显式定义的队列,但在这种情况下,您只需使用.slideUp()回调即可

由于动画可以链接以将它们添加到默认队列,因此您可以在.slideUp()之后链接.slideDown()

$(sliderSelector).slideUp(function() { // delete and add stuff }).slideDown(); 

jsFiddle示例


如果您使用自定义上滑和下滑function而没有回调,那么我不知道您是否在链接中添加了自动排队function,因此您可以使用.queue()动态创建队列:

 $(this).queue(function() { // Stuff to do // ... // Dequeue $(this).dequeue; }); 

所以你的整个代码将是:

  $(this).queue(function() { $(this).customUp(); $(this).dequeue(); }).queue(function() { // Delete & add stuff // ... $(this).dequeue(); }).queue(function() { $(this).customDown(); $(this).dequeue(); }); 

jsFiddle示例

您可以使用jQuery的.queuefunction。 我不知道你的具体用法,但它可以像这样……

 $("#theSlider") .hide('fast') .queue(function(){ $(this).html( '' ).dequeue(); }) .queue(function(){ $(this).append( some_new_content ).dequeue(); }) .show('fast'); 

动画已经在队列系统内部运行,因此您不必为每个动画调用dequeue。