Opened 14 years ago
Closed 13 years ago
#4382 closed bug (fixed)
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
Change History (7)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Milestone: | TBD → 1.8 |
---|
comment:3 Changed 14 years ago by
The linked test case works for me under IE7 on Windows XP. Can anyone reproduce?
comment:4 Changed 14 years ago by
could reproduce this on IE7 7.0.5730.13 after first area was opened no other area could be opened
comment:5 follow-up: 6 Changed 14 years ago by
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;
comment:6 Changed 13 years ago by
Replying to 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
Also should mention: works fine (with animation) in IE6; it is only IE7 that is still broken.