Jquery 从右到左使用背景图像设置div动画

Jquery 从右到左使用背景图像设置div动画,jquery,jquery-animate,Jquery,Jquery Animate,我有一个div,它实际上是作为背景图像的遮罩,只显示图像的特定部分 背景图像向右对齐。我尝试从右向左设置背景位置的动画,但是,动画会自动将背景位置重置为左侧(或非常接近左侧-我不太清楚位置来自何处) 有没有办法克服这个问题 示例代码: (请注意,当动画触发时,背景图像未完全向右对齐)。遮罩的初始X位置必须是一个数字,而不是“右”。如果我没有弄错的话,任何分配给背景位置的数字(百分比或像素)都是从左边计算出来的 所以我的修正是:保持css:背景位置:右上角,但在动画之前,从左侧计算所需的初始X位置

我有一个div,它实际上是作为背景图像的遮罩,只显示图像的特定部分

背景图像向右对齐。我尝试从右向左设置背景位置的动画,但是,动画会自动将背景位置重置为左侧(或非常接近左侧-我不太清楚位置来自何处)

有没有办法克服这个问题

示例代码:

(请注意,当动画触发时,背景图像未完全向右对齐)。

遮罩的初始X位置必须是一个数字,而不是“右”。如果我没有弄错的话,任何分配给
背景位置的数字(百分比或像素)都是从左边计算出来的

所以我的修正是:保持css:
背景位置:右上角,但在动画之前,从左侧计算所需的初始X位置,然后将动画设置回0(左侧):

编辑

一句话:
background-position-x
不受Firefox支持,并且
.animate()
只对数字css属性有效(因此它对
background-position
不起作用,因为它不是一个单一的数字),因此没有标准的jquery方法来实现这一点


然而,正如@thirtydot所指出的,有一个插件可以在
背景位置上实现动画:

您可以为背景设置一个静态位置,而不必在divmoves@Mikhail我不太明白你的意思。我该如何应用它?@kylex你能更深入地解释一下你希望实现的目标吗?你希望面具向左移动直到看不见为止吗?@Wasbazi:动画开始时,背景图像的位置没有完全向右对齐。我需要它与右边对齐。@Wasbazi:这里有一个到上一个问题的链接,也许它有助于在这里显示意图:。(我现在没有时间回答这个问题。)这不会在FireFox中设置背景动画。我想FireFox不支持backgroundPositionX。和
animate
方法仅适用于数字CSS属性。看起来像一条死胡同。
$("#image").css({backgroundPositionX: -large_left_border})
     .animate({backgroundPositionX: 0}, 1500);