Начальная позиция X вашей маски должна быть числом, а не «правильной».Если я не ошибаюсь, любое число (в процентах или в пикселях), присвоенное background-position
, рассчитывается слева.
Итак, мое исправление: сохранить css: background-position: top right;
, но затем до анимации,вычислить требуемую начальную позицию X слева, а затем анимировать обратно к 0 (слева):
$("#image").css({backgroundPositionX: -large_left_border})
.animate({backgroundPositionX: 0}, 1500);
См. fiddle
РЕДАКТИРОВАТЬ
Итог: background-position-x
не поддерживается Firefox, а .animate()
работает только со свойствами числовых CSS (поэтому он не работает с background-position
, потому что это не одно число), поэтому естьнет стандартного способа jquery для этого.
Однако, поскольку @thirtydot указывает здесь , существует плагин, который реализует анимацию на background-position
: http://www.protofunc.com/scripts/jquery/backgroundPosition/