2012-01-27 109 views
2

使用JavaScript如果另一個DIV的高度發生變化,我該如何滾動HTML div?如果高度變化,滾動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足夠的知識。

+0

什麼是你想實現使用?這可能是,你甚至不需要JavaScript,但可以很好地使用CSS ... – maiwald 2012-01-27 13:42:45

+0

@mainwald - 每當一條新線添加到它的內層'mychat',我怎麼能實現自動滾動的DIV層'聊天'? – 2012-01-27 13:46:33

回答

0

使用JavaScript,您正在尋找您div的scrollTop屬性。

scrollTop 0表示滾動條位於頁面的頂部。

嘗試:myDiv.scrollTop = myDiv.clientHeight或某些類似的指標。

+0

對不起,你錯了!我需要每當DIV'mychat'身高改變,那麼DIV'chat'必須向下滾動。你給的代碼已經在我的問題中了。我需要如何檢測'mychat'中的高度變化DIV :)如果檢測到高度變化,則只有滾動條必須下降。 – 2012-01-27 14:06:06