我创建了一个函数来为一个 div 设置动画,然后在单击时淡化另一个。当我再次单击时,动画将反向运行。该功能有效,但动画部分在没有动画的情况下跳转到其指定点,并且仅在反向运行时才跳转。
我相信左边距是在淡入淡出之前设置的,所以在淡入淡出完成后跳到设定点,但我不知道如何解决这个问题。
我的问题
如何在单击按钮时运行淡入淡出,然后是具有两个不同目标的动画。然后在切换单击以反向运行。jQuery 1.9
var toggle = false;
$('#btn1, #btn2').click(function(){
$('#CtrCol').animate({marginLeft: toggle ? 251 : 0},{complete: function(){
$('#LftCol').fadeToggle();
}});
toggle = ! toggle;
});
我的解决方案
var flag = 0;
$('#btn1, #btn2').click(function() {
if (flag == 0) {
$('#LftCol').fadeOut({complete: function(){
$('#CtrCol').animate({marginLeft: 0});
}});
flag = 1
}
else if (flag == 1) {
$('#CtrCol').animate({marginLeft: 251},{complete: function(){
$('#LftCol').fadeIn();
}});
flag = 0
}
});