我怎么能一个接一个地开火呢?

时间:2010-09-21 16:06:29

标签: jquery

我已经准备好了 http://jsbin.com/ejese3/edit

我有这些警报信息但是目前如果你在当前警报完成之前点击另一个警报,一切都有点疯狂。我想要做的就是让他们排队等候而不是重叠。

建议?

2 个答案:

答案 0 :(得分:1)

$('#messageDrop').addClass('visible').slideDown( 2000, 
    function(){ $(this).slideUp(2000, 
        function(){ $(this).removeClass('visible');
        }); 
    });

答案 1 :(得分:0)

我不确定我是否理解这个问题,但slideUp()之类的jQuery函数可以采用在操作完成后触发的回调方法。

您可以使用回调来显示下一个提醒。

http://api.jquery.com/slideDown/

对于它的价值,jQuery代码(例如在你的例子中)看起来像:

$('#messageDrop').addClass('visible').slideDown().delay('2000').slideUp().removeClass('visible')

......难以阅读和维护(IMO)。添加回调或嵌套回调会增加这种复杂性。考虑声明一些局部变量并使用这些对象,而不是将一堆语句链接在一起。

此外,在处理(可能有冲突的)jQuery动画时,stop()方法是您的朋友:http://api.jquery.com/stop/