jquery在Chrome和Opera中的位置动画问题
jquery position animation issue in chrome and opera
所以我有一个带有以下 css 的div:
#MyDiv {
position: absolute;
overflow: visible;
top: 0px;
right: 50%;
width: 49%;
height: 99%;
min-width: 250px;
min-height: 400px;
max-width: 400px;
max-height: 500px;
background-color: #FFFFFF;
border: 1px solid #000000;
margin: 0 auto;
padding: 0px;
}
我用jQuery向右动画了800像素。在火狐中,最终位置是所需的位置,但是在chrome和opera中它是错误的。
alert($("#MyDiv").position().left);
$("#MyDiv").animate({left: "+=" + 800 + "px"}, 1000, "linear", function() {
alert($("#MyDiv").position().left);
});
在 Firefox 中,初始左边位置是 23(第一个警报),最后一个位置是 823(第二个警报)在Chrome和Opera中,最终位置是800
我做错了什么吗? 需要保持 CSS 不变。
附言IE8也有一些问题,但程度低于Chrome和Opera。
提前谢谢。
编辑 JSFIDDLE : http://jsfiddle.net/Q8K2R/
另一种方法是设置 css left
属性,因为动画适用于 css,这里没有保证,该 left 属性包含正确的计算数据,因此修复可以像
var mydiv=$("#MyDiv");
mydiv.css({left: mydiv.position().left});
动画制作之前演示
为什么不在设置样式动画之前计算位置:
`var _left = $("#MyDiv").position().left + 800 + 'px';
$("#MyDiv").animate({left: _left}, 1000, "linear", function() {
alert($("#MyDiv").position().left);
}); `
相关文章:
- jquery:将动画绑定到滚动条位置的更好方法
- Famo.us Js-将实体(粒子)设置到位置的动画
- 在位置更改时为阵列项目制作动画
- 仅为背景位置X轴制作动画
- 如何使用jQuery对固定元素的位置进行动画处理
- 是否可以设置柔盒插入、移除和项目位置的动画
- 如何获取SVG动画的当前时间/位置
- 在变换的绝对位置发生变化时制作动画's参数
- 如何使用CSS-webkit动画制作位置动画
- 视差'背景图像/位置/附件'jQuery的动画很不稳定
- 创建从一个位置到另一个位置的路径动画
- 使用gsap制作背景位置动画
- 悬停时的背景位置动画
- 跨浏览器背景Y位置动画
- JQuery/CSS:静态位置动画
- 使用svg.js设置位置动画的正确方法是什么
- 将画布形状从任何位置动画到中心
- 位置动画在IE上运行缓慢
- Firefox和IE中的背景位置动画问题
- jquery在Chrome和Opera中的位置动画问题