【问题标题】:Getting Constant Height Of Element获得恒定的元素高度
【发布时间】:2011-06-15 07:01:44
【问题描述】:

我正在尝试为我的div 进行自动滚动。每当我检查div 的高度时,它都会给我“200px”,就像它在 CSS 中一样。我认为这是因为 CSS 样式。 How to fix it?

这一切的想法是用户可以提交消息进行聊天,然后他们将出现在该框中。我需要将该框自动滚动到底部...

【问题讨论】:

  • 你看,当用户提交超过 200 条消息时,in 应该超过 200px。对吗?

标签: javascript jquery css dom


【解决方案1】:
$('div').prop('scrollHeight');

在 jQuery 1.6 之前,prop 应该是 attr

或者直接点击 HTML 属性:

$('div')[0].scrollHeight;

【讨论】:

    【解决方案2】:

    为什么不使用 JQuery 并使用 ScrollTo 插件通过动画滚动您的内容,或者使用 ScrollTop 并将滚动设置为滚动高度,就像这样;

    $("div").ScrollTop($("div").ScrollTop());

    【讨论】:

      【解决方案3】:

      您可能甚至不需要找出 div 的高度。根据您的目标,您可以将其滚动到最大。在向 div 添加新元素的同一函数中尝试这样的操作:

      <script>
      $('#screameria form').submit(function() {
          var screams = $('#screameria .screams');
          screams.append(
              '<div>'
              + new Date()
              + ': '
              + $(this.scream).val()
              + '</div>'
          );
          screams.scrollTop(999999999);
          return false;
      });
      </script>
      

      Here's a jsFiddle with it

      【讨论】:

      • 我喜欢帕特里克·盖茨的回答。寻找已经实现您目标的插件,而不是尝试推出自己的插件。
      • 看看我的代码...我已经使用了 height(),但是没有用。
      • 是的,一开始我没有注意到 jsFiddle。我现在看到你已经在使用.height()
      猜你喜欢
      • 2015-10-04
      • 2018-01-12
      • 2010-09-29
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2013-10-10
      • 2016-04-27
      相关资源
      最近更新 更多