Skip to main content

Search and Top Navigation

#4382 closed bug (fixed)

Opened March 21, 2009 09:16AM UTC

Closed January 20, 2010 03:26AM UTC

Accordion does not function in IE7/WinXP

Reported by: mkornblum Owned by:
Priority: major Milestone: 1.8
Component: ui.accordion Version: 1.7.1
Keywords: accordion ie theme .ui-helper-reset Cc:
Blocked by: Blocking:
Description

Ref: Ticket 4331 (http://dev.jqueryui.com/ticket/4331)

This problem still occurs in IE7 using JQuery 1.3.2 and JQuery UI 1.7.1, even after adding:

.ui-helper-reset { border: 0; }

To my site's CSS.

test case here: http://arts.cornish.edu/test/accordion.html (not the most minimal!)

Specifying "animated: false" when initializing the accordion fixes the issue, but is not as pretty.

Test here without animation here: http://cornish.edu/drums/day-one

Attachments (0)
Change History (7)

Changed March 21, 2009 09:19AM UTC by mkornblum comment:1

Also should mention: works fine (with animation) in IE6; it is only IE7 that is still broken.

Changed March 25, 2009 04:59PM UTC by scottgonzalez comment:2

milestone: TBD1.8

Changed May 08, 2009 03:32AM UTC by wewals comment:3

The linked test case works for me under IE7 on Windows XP. Can anyone reproduce?

Changed July 09, 2009 04:23PM UTC by smadep comment:4

could reproduce this on IE7 7.0.5730.13

after first area was opened no other area could be opened

Changed August 18, 2009 07:41PM UTC by DiRN comment:5

If this is the error that I'm experiencing, the problem is a divide by 0 error.

jQuery UI 1.7.2 (ui.core.js), line 3435 (the line number will vary by version)

percentDone = (settings.now - settings.start) / (settings.end - settings.start);

should be something along the lines of

percentDone = (settings.end - settings.start) != 0 ? (settings.now - settings.start) / (settings.end - settings.start) : 0;

With the correct code, percentDone ends up with a value of NaN. When using NaN, the following lines result in an error in IE7.

options.toShow[0].style[settings.prop] =
	(percentDone * showProps[settings.prop].value) + showProps[settings.prop].unit;

Changed October 27, 2009 11:00PM UTC by abaumhau comment:6

Replying to [comment:5 DiRN]:

If this is the error that I'm experiencing, the problem is a divide by 0 error.

I can confirm that this is a divide by zero error in percentDone. The problem exists on IE8 when not in compatibility mode. The settings.{now|start|end} are all zero, and percentDone = NaN. This causes an invalid option on line 486 in jquery.ui.accordion.js. The fix listed does work. Thanks much.

Andy

Changed January 20, 2010 03:26AM UTC by scottgonzalez comment:7

resolution: → fixed
status: newclosed

Fixed in r3703.