在我的页面上,我有多个div,其班级名称为course。然后有一个div本身,其ID为dateForm。

我想做的是将dateForm附加到我单击的课程div的任何实例中。它应该做的是从当前位置淡出,将(appendTo)移至新位置,然后淡入。

但是,它总是将其自身附加到其新位置,然后淡出并逐渐变回。知道为什么链不起作用了吗?我尝试了延迟,尝试将appendTo移到另一个方法中,并在fadeOut的回调中调用它,但没有任何效果。我什至尝试在淡出之后插入alert(),但是alert()消息出现在fadeOut函数甚至运行之前。有任何想法吗?

          $(".course").click(function () {
            $("#dateForm").fadeOut("slow").appendTo($(this)).fadeIn("slow");
          });

最佳答案

问题是fadeOut在动画完成之前立即返回。动画完成后,应使用callback参数运行代码:

$('.course').click(function(e){
    $("#dateForm").fadeOut("slow", function() { // code to run after the fadeOut is complete
        $(this).appendTo(e.target).fadeIn('slow');
    })
});

07-24 09:47
查看更多