diff --git a/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js b/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js index fc6f736..09987e2 100644 --- a/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js +++ b/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js @@ -203,7 +203,7 @@ } offsetLeft -= elm.scrollLeft || 0; offsetTop -= elm.scrollTop || 0; - elm = elm.parentNode; + elm = elm.offsetParent; } while( elm ); } win = getWindow( doc ); @@ -221,8 +221,8 @@ adjustHeight.call(this, e); if (this.popupView) { if (!checkInPopupView(this.popupView.element[0])) { - this.popupView.element[0].style.left = parseInt(this.popupView.element[0].style.left) * scale + "px"; - this.popupView.element[0].style.top = parseInt(this.popupView.element[0].style.top) * scale + transformY + "px"; + this.popupView.element[0].style.left = (parseInt(this.popupView.element[0].style.left) * scale - document.body.scrollLeft) + "px"; + this.popupView.element[0].style.top = (parseInt(this.popupView.element[0].style.top) * scale + transformY - document.body.scrollTop) + "px"; } else { } @@ -233,16 +233,16 @@ BI.Tooltips.show = function (e, name, text, level, context, opt) { injectToolTipShow.call(this, e, name, text, level, context, opt); var tooltip = this.get(name); - tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale + "px"; - tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY + "px"; + tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale - document.body.scrollLeft + "px"; + tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY - document.body.scrollTop + "px"; tooltip.element[0].style.transform = "scale(" + scale+ ")"; tooltip.element[0].style.transformOrigin = "top left"; } BI.Bubbles.show = function (name, text, context, opt) { injectBubblesShow.call(this, name, text, context, opt); var tooltip = this.get(name); - tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale + "px"; - tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY + "px"; + tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale - document.body.scrollLeft + "px"; + tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY - document.body.scrollTop + "px"; tooltip.element[0].style.transform = "scale(" + scale+ ")"; tooltip.element[0].style.transformOrigin = "top left"; } diff --git a/src/main/resources/com/finebi/plugin/web/scripts/entry.js b/src/main/resources/com/finebi/plugin/web/scripts/entry.js index fc6f736..09987e2 100644 --- a/src/main/resources/com/finebi/plugin/web/scripts/entry.js +++ b/src/main/resources/com/finebi/plugin/web/scripts/entry.js @@ -203,7 +203,7 @@ } offsetLeft -= elm.scrollLeft || 0; offsetTop -= elm.scrollTop || 0; - elm = elm.parentNode; + elm = elm.offsetParent; } while( elm ); } win = getWindow( doc ); @@ -221,8 +221,8 @@ adjustHeight.call(this, e); if (this.popupView) { if (!checkInPopupView(this.popupView.element[0])) { - this.popupView.element[0].style.left = parseInt(this.popupView.element[0].style.left) * scale + "px"; - this.popupView.element[0].style.top = parseInt(this.popupView.element[0].style.top) * scale + transformY + "px"; + this.popupView.element[0].style.left = (parseInt(this.popupView.element[0].style.left) * scale - document.body.scrollLeft) + "px"; + this.popupView.element[0].style.top = (parseInt(this.popupView.element[0].style.top) * scale + transformY - document.body.scrollTop) + "px"; } else { } @@ -233,16 +233,16 @@ BI.Tooltips.show = function (e, name, text, level, context, opt) { injectToolTipShow.call(this, e, name, text, level, context, opt); var tooltip = this.get(name); - tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale + "px"; - tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY + "px"; + tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale - document.body.scrollLeft + "px"; + tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY - document.body.scrollTop + "px"; tooltip.element[0].style.transform = "scale(" + scale+ ")"; tooltip.element[0].style.transformOrigin = "top left"; } BI.Bubbles.show = function (name, text, context, opt) { injectBubblesShow.call(this, name, text, context, opt); var tooltip = this.get(name); - tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale + "px"; - tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY + "px"; + tooltip.element[0].style.left = parseInt(tooltip.element[0].style.left) * scale - document.body.scrollLeft + "px"; + tooltip.element[0].style.top = parseInt(tooltip.element[0].style.top) * scale + transformY - document.body.scrollTop + "px"; tooltip.element[0].style.transform = "scale(" + scale+ ")"; tooltip.element[0].style.transformOrigin = "top left"; }