【问题标题】:How to let scrollbar keep up with growing height when scroll:auto?滚动时如何让滚动条跟上不断增长的高度:自动?
【发布时间】:2012-07-07 09:46:11
【问题描述】:

我有一个<div>,它的属性为scroll:auto。当文本添加到<div> 并且高度超过默认高度时,我必须向下滚动才能查看添加的最新文本行。我希望最新的文本行始终可见。如果我能做到这一点,我可以只使用滚动:无而不是自动。我怎样才能做到这一点?我希望你明白我的意思。

更新:BilgehanKorkmaz 的解决方案有效,但过一段时间就不行了。如果我输入 A LOT 文本,滚动将不再起作用。

【问题讨论】:

    标签: jquery html css


    【解决方案1】:

    编辑:将滚动高度值设置为 .scrollTop():

    $("div").scrollTop($("div").get(0).scrollHeight);
    

    【讨论】:

    • 这可能适用于最初添加到 div 的 100 行,但过了一段时间它就不再起作用了。滚动条变小,无法向下滚动。
    • 你说得对。试试这个:stackoverflow.com/questions/3235614/…
    【解决方案2】:

    您已经尝试过height:auto;?我不是很了解,所以..如果可能,请在JSFiddle上显示示例

    【讨论】:

      【解决方案3】:

      使用.position().top获取新元素的位置,使用scrollTop滚动到正确位置:

      var myDiv = $("#myID");
      
      $("button").click(function(){
          var newelementtext = "<p>Your element</p>";
      
          var el = $(newp).appendTo(myDiv);
          myDiv.scrollTop(el.position().top);
      });
      

      【讨论】:

        猜你喜欢
        • 2012-06-14
        • 2011-12-21
        • 1970-01-01
        • 2013-07-13
        • 1970-01-01
        • 2020-11-18
        • 2020-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多