Skip to main content

Bug Tracker

Side navigation

#4313 closed bug (invalid)

Opened March 08, 2009 07:42PM UTC

Closed October 14, 2009 03:19AM UTC

Last modified April 29, 2011 03:36PM UTC

slideToggle().css('display') always return 'block'

Reported by: bato3 Owned by:
Priority: major Milestone: 1.4
Component: unfiled Version: 1.3.2
Keywords: Cc:
Blocked by: Blocking:
Description

my log from FireBug:

>>> $('#hc_c6').slideToggle().css('display');

"block"

>>> $('#hc_c6').slideToggle().css('display');

"block"

>>> $('#hc_c6').slideToggle().css('display');

"block"

>> //Now #hc_c6 is visible:

>>> $('#hc_c6').slideUp().css('display');

>"block"

>>> $('#hc_c6').slideUp().css('display');

>"none"

As you see in example, 2-nd slideUp() call return correct value...

Attachments (0)
Change History (3)

Changed March 09, 2009 07:42AM UTC by dantman comment:1

How do you expect this to behave?

slideUp is an animation, a call to .css directly after starting an animation will always be unreliable like that. When you call the animation jQuery starts of by preparing the element to be animated, this includes turning the display of the element on, and setting an overflow and other css which make it possible to animate the element cleanly.

The only reason your second .slideUp returns none instead of display is because the element is already closed and no animation is being done.

Changed October 14, 2009 03:19AM UTC by dmethvin comment:2

resolution: → invalid
status: newclosed

I agree with dantman, .css has to change the property to start the animation.

Changed April 29, 2011 03:36PM UTC by Danny comment:3

issue persist with jQuery 1.5