Fix WoltLab/WCF/Dom/Util.offset
authorTim Düsterhus <duesterhus@woltlab.com>
Fri, 25 Mar 2016 18:51:51 +0000 (19:51 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Fri, 25 Mar 2016 18:51:51 +0000 (19:51 +0100)
> The amount of scrolling that has been done of the viewport area (or
> any other scrollable element) is taken into account when computing
> the bounding rectangle. This means that the top and left property
> change their values as soon as the scrolling position changes (so
> their values are relative to the viewport and not absolute). If
> this is not the desired behaviour just add the current scrolling
> position to the top and left property (via window.scrollX and
> window.scrollY) to get constant values independent from the current
> scrolling position.

see: https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect

wcfsetup/install/files/js/WoltLab/WCF/Dom/Util.js

index 5d29a684dc9740280c94cb22c2970fc92a58afca..4e582ca9902589d396512c934442edd8e9dfe0ff 100644 (file)
@@ -154,8 +154,8 @@ define(['Environment', 'StringUtil'], function(Environment, StringUtil) {
                        var rect = el.getBoundingClientRect();
                        
                        return {
-                               top: rect.top + document.body.scrollTop,
-                               left: rect.left + document.body.scrollLeft
+                               top: rect.top + window.scrollY,
+                               left: rect.left + window.scrollX
                        };
                },