diff options
author | Felix Nagel <info@felixnagel.com> | 2011-10-27 19:16:08 +0200 |
---|---|---|
committer | Felix Nagel <info@felixnagel.com> | 2011-10-27 19:16:08 +0200 |
commit | 1b775fd3c491653b4bf85412e128ed424c58ad84 (patch) | |
tree | 26ee893532eb4b8c6f72bbdbe291a030b323cd42 | |
parent | 2f8eb7d96d76aef1e2e9406461ee8c4c378c9e0c (diff) | |
download | jquery-ui-1b775fd3c491653b4bf85412e128ed424c58ad84.tar.gz jquery-ui-1b775fd3c491653b4bf85412e128ed424c58ad84.zip |
fixed: problem with flickering / jumping (follow-up)
-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"); |