【问题标题】:Scroll a HTML div if height changes如果高度发生变化,则滚动 HTML div
【发布时间】:2012-01-27 13:39:14
【问题描述】:

如果另一个 DIV 的高度发生变化,如何使用 JavaScript 滚动 HTML div?

在下面的代码中,如果mychat's 高度发生变化,我需要chat DIV 的滚动条应该向下。我的 JavaScript 出错了,谁能纠正一下。

我的代码是

<style type="text/css">
        #chat
        {
            height:250px;
            width:200px;
            overflow:auto;
            background-color:Aqua;
            padding:5px;
        }
    </style>
    <script type="text/javascript">
        function show() {
            var MyDiv = document.getElementById('mychat');
            var MyDiv2 = document.getElementById('chat');
            var sval;
            if(MyDiv.clientHeight != sval)
            {
              MyDiv2.scrollTop = MyDiv2.scrollHeight;
            }
            sval = MyDiv.clientHeight;
        }
    </script>
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<div id="chat">
<asp:Timer ID="Timer1" runat="server" Interval="200" ontick="Timer1_Tick">
</asp:Timer>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
    <div id="mychat" runat="server">

    </div>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>

抱歉,我没有足够的 JavaScript 编码知识。

【问题讨论】:

  • 你想完成什么?可能你甚至不需要 javascript,但使用 css 就可以了……
  • @mainwald - 每当新行添加到其内层mychat 时,如何实现DIV 层chat 的自动滚动?

标签: javascript html


【解决方案1】:

这个小提琴似乎是你想要的——如果不是,它至少有希望引导你朝着正确的方向前进。

http://jsfiddle.net/7uvzd/7/

改编自我使用过的代码 How do I scroll a row of a table into view (element.scrollintoView) using jQuery?

【讨论】:

    【解决方案2】:

    使用 JavaScript,您正在寻找 div 的 scrollTop 属性。

    scrollTop 为 0 表示滚动条位于页面顶部。

    试试:myDiv.scrollTop = myDiv.clientHeight 或一些类似的指标。

    【讨论】:

    • 对不起,你错了!每当更改 DIV mychat 高度时,我都需要然后 DIV chat 必须向下滚动。您提供的代码已经在我的问题中。我需要如何检测mychat DIV 中的高度变化 :) 如果检测到高度变化,则只需向下滚动条。
    猜你喜欢
    • 2020-12-18
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多