if(this.fireEvent('beforetoggle', this) !== false){
var ce = this.el.select('.navbar-collapse',true).first();
ce.toggleClass('in'); // old...
- if (!ce.hasClass('show')) {
+ if (ce.hasClass('collapse')) {
// show it...
ce.removeClass('collapse');
- ce.addClass('collapsing show');
- (function() { ce.removeClass('collapsing'); }).defer(50);
- } else {
ce.addClass('collapsing');
+ var h = ce.getHeight();
+ ce.setHeight(0); // resize it ...
+
+ ce.removeClass('collapsing');
+ ce.addClass('collapsing');
+
+ // now flag it as moving..
+
(function() {
ce.removeClass('collapsing');
- ce.removeClass('show');
+ ce.addClass('show');
+ ce.removeClass('collapse');
+
+ ce.dom.style.height = '';
}).defer(500);
+ ce.setHeight(h)
+
+ } else {
+ ce.addClass('collapsing');
+ ce.removeClass('show');
+ (function() {
+ ce.removeClass('collapsing');
+ ce.addClass('collapse');
+
+ }).defer(200);
}
}