aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Nagel <info@felixnagel.com>2011-10-27 19:16:08 +0200
committerFelix Nagel <info@felixnagel.com>2011-10-27 19:16:08 +0200
commit1b775fd3c491653b4bf85412e128ed424c58ad84 (patch)
tree26ee893532eb4b8c6f72bbdbe291a030b323cd42
parent2f8eb7d96d76aef1e2e9406461ee8c4c378c9e0c (diff)
downloadjquery-ui-1b775fd3c491653b4bf85412e128ed424c58ad84.tar.gz
jquery-ui-1b775fd3c491653b4bf85412e128ed424c58ad84.zip
fixed: problem with flickering / jumping (follow-up)
-rw-r--r--ui/jquery.ui.selectmenu.js15
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");