在我的页面上,我有多个div,类名为 course 。然后有一个div本身带有id dateForm 。
我想要做的是将dateForm
追加到我点击的 course div的任何实例中。它应该做的是从当前位置fadeOut,将(appendTo)移动到新位置,然后淡入。
然而,它总是将自己添加到新的位置,然后逐渐消失并逐渐淡入。任何想法为什么链条不起作用?我尝试过延迟,我尝试将appendTo移动到另一个方法并在fadeOut的回调上调用它,但没有任何效果。我甚至尝试在淡出后插入一个alert(),但是在fadeOut函数运行之前会出现alert()消息。有什么想法吗?
$(".course").click(function () {
$("#dateForm").fadeOut("slow").appendTo($(this)).fadeIn("slow");
});
答案 0 :(得分:4)
问题是fadeOut
在动画结束前立即返回。在动画完成后,您应该使用callback参数来运行代码:
$('.course').click(function(e){
$("#dateForm").fadeOut("slow", function() { // code to run after the fadeOut is complete
$(this).appendTo(e.target).fadeIn('slow');
})
});