使用jQuery .animate从右到左动画div?

前端之家收集整理的这篇文章主要介绍了使用jQuery .animate从右到左动画div?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个div绝对定位在顶部:0px和右:0px,我想使用jquery的.animate()来动画它从它的当前位置到左边:0px。如何做到这一点?我似乎不能得到这个工作:
$("#coolDiv").animate({"left":"0px"},"slow");

为什么这不工作,如何完成我想要做什么?

谢谢!!

解决方法

我认为它不工作的原因与事实,你有正确的位置设置,但不是左。

如果你手动设置左边的当前位置,似乎去:

Live示例:http://jsfiddle.net/XqqtN/

var left = $('#coolDiv').offset().left;  // Get the calculated left position

$("#coolDiv").css({left:left})  // Set the left to its calculated position
             .animate({"left":"0px"},"slow");

编辑:

看起来好像Firefox的行为与预期的一样,因为它计算的左位置可用作正确的值(以像素为单位),而基于Webkit的浏览器和显然IE的返回值为auto的左位置。

因为auto不是动画的开始位置,所以动画有效地从0到0。不是非常有趣的观看。 :o)

在动画处理之前手动设置左侧位置可以解决问题。

如果你不喜欢用变量来整理景观,这里是一个很好的版本的同一个东西,避免了一个变量的需要:

$("#coolDiv").css('left',function(){ return $(this).offset().left; })
             .animate({"left":"0px"},"slow");    ​

猜你在找的jQuery相关文章