Bug Tracker

Ticket #7448 (closed bug: invalid)

Opened 4 years ago

Last modified 3 years ago

'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:1 Changed 4 years ago by jitter

The documentation for  animate states

Shorthand CSS properties (e.g. margin, background, border) are not supported.

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

Version 0, edited 4 years ago by jitter (next)

comment:2 Changed 4 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 4 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.

Note: See TracTickets for help on using tickets.