Skip to content
Permalink
Browse files

Accordion: Start the accordion animation before changing classes. Fix…

…es #6720 - Accordion: ol numbering bug.

Thanks Tony Ross.
  • Loading branch information...
scottgonzalez committed Jan 11, 2011
1 parent 723e0d6 commit dd89ea5ff30a87d756453a73651cd30ae658492a
Showing with 19 additions and 16 deletions.
  1. +19 −16 ui/jquery.ui.accordion.js
@@ -338,8 +338,26 @@ $.widget( "ui.accordion", {
return;
}

// find elements to show and hide
var active = this.active,
toShow = clicked.next(),
toHide = this.active.next(),
data = {
options: options,
newHeader: clickedIsActive && options.collapsible ? $([]) : clicked,
oldHeader: this.active,
newContent: clickedIsActive && options.collapsible ? $([]) : toShow,
oldContent: toHide
},
down = this.headers.index( this.active[0] ) > this.headers.index( clicked[0] );

// when the call to ._toggle() comes after the class changes
// it causes a very odd bug in IE 8 (see #6720)
this.active = clickedIsActive ? $([]) : clicked;
this._toggle( toShow, toHide, data, clickedIsActive, down );

// switch classes
this.active
active
.removeClass( "ui-state-active ui-corner-top" )
.addClass( "ui-state-default ui-corner-all" )
.children( ".ui-icon" )
@@ -357,21 +375,6 @@ $.widget( "ui.accordion", {
.addClass( "ui-accordion-content-active" );
}

// find elements to show and hide
var toShow = clicked.next(),
toHide = this.active.next(),
data = {
options: options,
newHeader: clickedIsActive && options.collapsible ? $([]) : clicked,
oldHeader: this.active,
newContent: clickedIsActive && options.collapsible ? $([]) : toShow,
oldContent: toHide
},
down = this.headers.index( this.active[0] ) > this.headers.index( clicked[0] );

this.active = clickedIsActive ? $([]) : clicked;
this._toggle( toShow, toHide, data, clickedIsActive, down );

return;
},

0 comments on commit dd89ea5

Please sign in to comment.
You can’t perform that action at this time.