在我的页面上,我有多个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');
})
});