diff options
-rw-r--r-- | ui/jquery.ui.selectmenu.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index c5a634867..bd60d5cc1 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -536,17 +536,20 @@ $.widget("ui.selectmenu", { self.newelement.addClass('ui-state-active'); self.listWrap.appendTo( o.appendTo ); - self.list.attr('aria-hidden', false); - + self.list.attr('aria-hidden', false); + self.listWrap.addClass( self.widgetBaseClass + '-open' ); + var selected = this._selectedOptionLi(); if ( o.style == "dropdown" ) { self.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); - // center overflow - this.list.scrollTop( this.list.scrollTop() + selected.position().top - this.list.outerHeight()/2 + selected.outerHeight()/2 ); + } else { + // center overflow and avoid flickering + this.list + .css("left", -5000) + .scrollTop( this.list.scrollTop() + selected.position().top - this.list.outerHeight()/2 + selected.outerHeight()/2 ) + .css("left","auto"); } - self.listWrap.addClass( self.widgetBaseClass + '-open' ); - self.list.attr('aria-hidden', false); self._refreshPosition(); var link = selected.find("a"); |