WebKit jQuery动画错误
WebKit jQuery animation bug
我正在开发两个站点,在那里我使用jQuery通过CSS属性来动画化一些对象。Firefox中的一切都很好,但也有一些webkit错误,我的对象在动画开始前从屏幕上消失并重新出现。
$('#front-nav-wrapper').css({'position' : 'fixed','top': '55px', 'opacity' : '1' });
$("#nav ul li").click(function() {
$("#nav ul li#a").animate({'margin-top' : '-300px' , 'margin-left' : '0px', 'left' : '10px'}, 500, 'swing');
$("#nav ul li#b").animate({'margin-top' : '-200px' , 'margin-left' : '0px', 'left' : '10px'} , 500, 'swing');
$("#nav ul li#c").animate({'margin-top' : '-100px' , 'margin-left' : '0px', 'left' : '10px'} , 500, 'swing');
$("#nav ul li#d").animate({'left' : '10px'} , 500, 'swing');
$("#nav").animate({'margin-top' : '100px'} , 500, 'swing');
});
我确信这一定是一个已知的错误,可以很容易地修复,但我似乎还找不到修复方法:(
据我所知,问题似乎是webkit无法将left
属性从最初的"auto"值动画化为像素偏移。它所做的是将属性设置为0,然后从那里设置动画。
我可以建议的一个解决方案是,在开始动画之前立即计算每个li
元素的当前像素偏移,并将其left
属性设置为这些偏移。
类似这样的东西:
$("#nav ul li").each(function(){
$(this).css('left', $(this).position().left + 'px');
});
jsFiddle示例
这是基于您的第二个示例链接。
相关文章:
- 照片滑动:关闭图库会为错误的矩形(缩略图)添加动画效果
- 找不到在 create-js 中运行的动画,未列出任何错误
- 使用动画时出现反应JS错误
- Jquery动画错误“;ReferenceError:$未定义“;
- 3ds max>collada>threejs动画错误;缩放超出界限”;
- jQuery动画没有在对象上运行(或引发错误)
- jQuery动画函数回调错误
- 边动画:动画缩放错误
- Javascript图像动画闪烁图像错误
- jQuery,动画和动画返回.回调函数错误?:S
- JavaScript/jQuery动画错误:未捕获的语法错误:意外的令牌}
- 动画加载到错误的位置
- JQuery 多个加载动画循环,具有多个选项卡的错误
- jQuery SVG插件转换动画错误
- 角度动画中的奇怪错误.js
- Chrome 中的 Webkit 动画迭代计数错误
- EaselJS 精灵表动画在画布上不可见,但没有错误
- 未捕获的类型错误:使用 ig 时,未定义不是一个函数.动画表
- Safari 中的 SVG SMIL 动画错误
- 动画函数中的 JavaScript 错误