0

我正在使用 Ajax 删除记录并在删除此记录时显示动画消息(函数 display_message),但我注意到根据记录数弹出确认框。例如,如果我的列表中有 2 条记录,并且我想删除其中的一条。在删除之前确认框会弹出两次,并且消息会发生同样的事情,它会出现两次(我正在使用淡入和out),等等(3条记录-> 3条弹出,等等)。我尝试了很多来解决它,但我没有成功。这是我删除记录的功能:

$(function() {
$(".delete_class").click(function() {
var id = $(this).attr("id");
var dataString = 'id='+ id ;
var parent = $(this).parent().parent();
if(confirm("are you sure?")) {
$.ajax({
type: "POST",
url: "delete.php",
data: dataString,
cache: false,
success: function()
    {
   parent.hide();
    }
 });
}
display_message("user deleted!")
}); 
});

请帮忙。

编辑:这是 display_message 函数:

function display_message(msg) {
  $(".success").html(msg).effect("drop", { mode: "show", direction: "up" }, function( {
     window.timer = function() {
       $(".success").effect("drop", { mode: "hide", direction: "up"});
     }
window.setTimeout("window.timer()", 3000);
  }
 )

}

4

1 回答 1

0
function display_message(msg) {
    $(".success").stop().html(msg).effect("drop", { mode: "show", direction: "up" }, function({
        window.timer = function() {
            $(".success").effect("drop", { mode: "hide", direction: "up"});
    } window.setTimeout("window.timer()", 3000);
});

我认为您可以调用stop()以仅触发最后一个动画作为解决方法...

于 2012-09-28T22:26:24.743 回答