如何检测应用程序上的滚动条?

时间:2017-04-13 18:53:01

标签: javascript scrollbar sapui5

我有一个SAPUI5应用程序,我在其中显示一个离开屏幕的表格。我有一个按钮,用户可以单击该按钮返回到顶部。问题是即使不需要按钮也始终显示。我只希望它在桌子离开屏幕时显示出来。我一直在寻找解决方案,但到目前为止还没有任何工作。

这是我在xml视图中定义的按钮

<html: a id="toTop" href ="#_xmlview0--top">
      <Button id="backToTopBtn" text = "back"/>
</html:a>

然后我在我的视图顶部定义了

<html:div id = top"></html:div>

我尝试过使用jquery找到的不同解决方案,但到目前为止还没有任何工作。我觉得这样的事情会起作用

if($('body').height()>$(window).height()){
     //go back to top here
  }

但是看着这些值,身高和窗户高度是一样的。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

不要让你的按钮显示你需要使用样式或javascript隐藏它。我假设你在这种情况下会使用display: none,然后在用户滚动一定数量时显示它。

element.scrollTopelement.scrollLeft为您提供元素的偏移量。

如果你想只在身体滚动了一定数量时才显示某些东西,你可以这样做:

var page = document.body;
var button = document.getElementById('backToTopBtn');

function showScrollTopButton() {
    if (page.scrollTop > xyz) {
        button.style.display = 'block';
    } else {
        button.style.display = 'none';
    }
    
    return;
}

window.addEventListener('scroll', showScrollTopButton);

其中xyz是何时显示和隐藏按钮的数值。