我正在尝试制作类似于 github 的项目查看器的东西,在单击链接后,框移到场景的左侧,然后另一个框从右侧移入。
我尝试这样做的方法是只设置一个动画 div,当您单击链接时,该 div 会移到屏幕左侧。然后在第一个 animate() 的回调中,我调用 .css 将其移动到页面的右侧(没有动画,所以它只是跳到那里)然后再次对其进行动画以将其从右侧移回视图。
这是JS
$('.mLink').on('click', function(e) {
var
marginR = $('#mover').css('margin-right'),
marginL = $('#mover').css('margin-left');
$('#mover').animate({
'margin-left': '-1500px',
'margin-right': '1500px'
}, 500, 'ease-out', function() {
$('#mover').css({
'margin-left': '1500px',
'margin-right': '-1500px'
});
$('#mover').animate({
'margin-left': marginL,
'margin-right': marginR
}, 500, 'ease-in');
});
});
所以发生的情况是它在屏幕左侧进行动画处理,然后正确跳转到右侧,但随后出现在正确的位置而没有实际执行动画。我很好奇为什么会发生这种情况,因为这意味着 animate() 正在执行,只是没有显示动画?
编辑:澄清