在.ajax()请求之后不能.animate()

时间:2013-05-05 02:08:45

标签: ajax jquery

我需要在.ajax()成功后制作div,但它只是赢了。在ajax之前我可以,但不是在.done()函数中的ajax之后。请帮助,我尝试了一切。

这是我的代码:

$(".delete").click(function() {
   $this = $(this).closest(".photo");
   var url = $(this).parent().find("input[type=hidden]").val();
        $.ajax({url: '/content/delete.php',
              data: {id: url},
              dataType: 'json',
              type: 'post',
        }).done(function( output ) {
           if(output){
             $this.find(".slider").animate({margin: '0px'}, 200);
           }
        });
});

1 个答案:

答案 0 :(得分:0)

我之前可能在代码中犯了错误。我在.ajax()之前使用了.animate(),如下所示:

$this.find(".slider").animate({marginTop: '-234px'}, 200).queue(function() {
    margin = 1;
});

所以我将其编辑为:

$this.find(".slider").animate({marginTop: '-234px'}, 200, function() {
    margin = 1;
});

它有效。