Fix Menu position on Firefox.

This commit is contained in:
Nicolas Stepien 2012-06-25 13:00:22 +02:00
parent faef152020
commit 909e8dc4d9
2 changed files with 7 additions and 5 deletions

View File

@ -1101,7 +1101,7 @@
return $.on(a, 'click', Menu.toggle); return $.on(a, 'click', Menu.toggle);
}, },
toggle: function(e) { toggle: function(e) {
var lastOpener, s; var lastOpener, rect, s;
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
if (Menu.el.parentNode) { if (Menu.el.parentNode) {
@ -1112,8 +1112,9 @@
} }
} }
s = Menu.el.style; s = Menu.el.style;
s.top = this.offsetTop + this.offsetHeight + 2 + 'px'; rect = this.getBoundingClientRect();
s.left = this.offsetLeft + 'px'; s.top = d.documentElement.scrollTop + d.body.scrollTop + rect.top + rect.height + 2 + 'px';
s.left = d.documentElement.scrollLeft + d.body.scrollLeft + rect.left + 'px';
Menu.lastOpener = this; Menu.lastOpener = this;
return Menu.open(Main.preParse($.x('ancestor::div[contains(@class,"postContainer")][1]', this))); return Menu.open(Main.preParse($.x('ancestor::div[contains(@class,"postContainer")][1]', this)));
}, },

View File

@ -850,8 +850,9 @@ Menu =
# Position # Position
s = Menu.el.style s = Menu.el.style
# XXX prevent overflows # XXX prevent overflows
s.top = @offsetTop + @offsetHeight + 2 + 'px' rect = @getBoundingClientRect()
s.left = @offsetLeft + 'px' s.top = d.documentElement.scrollTop + d.body.scrollTop + rect.top + rect.height + 2 + 'px'
s.left = d.documentElement.scrollLeft + d.body.scrollLeft + rect.left + 'px'
Menu.lastOpener = @ Menu.lastOpener = @
Menu.open Main.preParse $.x 'ancestor::div[contains(@class,"postContainer")][1]', @ Menu.open Main.preParse $.x 'ancestor::div[contains(@class,"postContainer")][1]', @