JQuery仅在Safari中设置跳跃动画
我正在一个页面上工作,我想有一个隐藏的左侧导航栏。我只在Safari上遇到了这个问题,Chrome、FF、Opera和IE7+都没有问题 当滑动动画即将在Safari中完成时,您将看到一些内容短暂跳转到其原始位置,然后消失。我已经研究了一段时间,运气不好。看起来大部分时间都是填充或边距,但它们被设置为零,我尝试了两次CSS重置。在我看来,这似乎与花车有关。我试着玩得很好,但运气不好 以及相关动画:JQuery仅在Safari中设置跳跃动画,jquery,safari,jquery-animate,css-float,Jquery,Safari,Jquery Animate,Css Float,我正在一个页面上工作,我想有一个隐藏的左侧导航栏。我只在Safari上遇到了这个问题,Chrome、FF、Opera和IE7+都没有问题 当滑动动画即将在Safari中完成时,您将看到一些内容短暂跳转到其原始位置,然后消失。我已经研究了一段时间,运气不好。看起来大部分时间都是填充或边距,但它们被设置为零,我尝试了两次CSS重置。在我看来,这似乎与花车有关。我试着玩得很好,但运气不好 以及相关动画: $('#btnHide').click(function() { $("#divNavC
$('#btnHide').click(function() {
$("#divNavContent").animate({
width: 'toggle'
}, 1000, function() {
$("#divNavHidden").animate({
width: 'toggle'
}, 500);
});
});
$('#btnShowMenu').click(function() {
$("#divNavHidden").animate({
width: 'toggle'
}, 500, function() {
$("#divNavContent").animate({
width: 'toggle'
}, 1000);
});
});
出现问题的原因是
float:left
在#divLeft
上,但您可以从#divLeft
中删除浮动并保持相同的结构
同时添加左边距:4px
到#content
,因为移除浮动时两个div会有点挤压
似乎这更像是Safari中的一个bug,而不是你的错。尝试将动画的easing属性更改为
“linear”
它看起来只是在动画期间设置宽度,然后将显示设置为none,并删除width属性,以便原始css接管,可能使用静态数字而不是“toggle”这样会更好吗?