Ticket #7448 (closed bug: invalid)
'animate' doesn't work for 'background-position' property in IE6-7
| Reported by: | private.face@… | Owned by: | |
|---|---|---|---|
| Priority: | undecided | Milestone: | 1.5 |
| Component: | unfiled | Version: | 1.4.3 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Since I switched to jquery-1.4.3 the following code stopped working in IE6-7:
$('#a').animate({
'background-position' : '200px 0'
});
Now it causes the following error:
Invalid argument. jquery.js line 6573 character 5:
fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
At the same time, animation for properties 'background-position-x' and 'background-position-y' seems to be working fine.
Change History
comment:2 Changed 3 years ago by private.face@…
I'm not sure that 'background-position' is a shorthand property, but I found another condition that I missed:
All animated properties should be a single numeric value
comment:3 Changed 3 years ago by snover
- Status changed from new to closed
- Resolution set to invalid
Thanks for the report, but this is not a jQuery bug. If you want to animate background position, you need to install a plugin that adds support for it.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

The documentation for animate states
Shorthand properties don't work equally across all browsers. For animating background-position in a cross browser way consider using the bgpos-cssHook from jquery-cssHooks