1

我使用 jquery( ajax ) 创建简单的表单,当用户提交表单时,成功消息将出现slideDown()并延迟 6 秒,slideUp() 但当 delay() 处于活动状态时,我无法关闭此框。

$("#show").click(function () {
    //ajax will submit form
    //$.ajax({
    //type: form34.attr("method"),
    //url: form34.attr("action"),
    //data: form34.serialize(),
    //success: function (data) {   ...
    //when success run this
    $(".message_div").addClass("message_success").slideDown().delay(6000).slideUp();
});

$(".close").click(function () {
    $(".message_div").slideUp();
}); 

这是我的jsfiddle

4

2 回答 2

5

这段代码对我有用。

 $(".close").click(function () {
        $(".message_div").stop().slideUp();
 });
于 2013-05-16T05:55:23.403 回答
2

stop()您可以使用该元素停止所有当前正在运行的动画

试试这个

 $(".close").click(function () {
   $(".message_div").stop(true,true).slideUp();
 });

在这里摆弄

于 2013-05-16T05:53:13.000 回答