【问题标题】:Cross-Browser method for setting ScrollTop of an element?设置元素的 ScrollTop 的跨浏览器方法?
【发布时间】:2011-06-13 16:05:54
【问题描述】:

例如,我有一个 div 标签,滚动条位于 div 标签的右侧。
我想用最后一行显示 div,所以我有这个:

document.getElementById("divscroll").scrollTop = 250000;

我可以让它在 Firefox 中滚动到最后,但对于更大数字的 IE 事件永远不会成功!
有没有简单的跨浏览器脚本(不是 JQuery 或任何大框架!)

【问题讨论】:

    标签: javascript scrolltop


    【解决方案1】:

    scrollTop works in all major browsers.

    滚动到元素底部:

    var div = document.getElementById('divscroll');
    div.scrollTop = div.scrollHeight - div.clientHeight;
    

    clientHeight also works across browsersscrollHeight mostly works

    【讨论】:

      【解决方案2】:

      确保设置了 overflow 属性:

      <div id="divscroll" style="height: 100px; width: 100px; overflow: scroll;">
       //// something something 
      </div>
      

      【讨论】:

      • 在我的情况下设置高度。
      【解决方案3】:

      尝试将滚动位置设置为真实数字,而不是任意大数字:

      document.getElementById("divscroll").scrollTop = document.getElementById("divscroll").scrollHeight; 
      

      【讨论】:

      • scrollHeight 仍将大于scrollTop 的最大可能值(除非元素的高度为零,但这是另一个问题)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 2012-09-06
      • 1970-01-01
      • 2010-12-13
      • 2011-08-03
      • 2011-01-20
      • 2013-05-27
      相关资源
      最近更新 更多