2012-01-27 4 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> 

입니다.

+0

에서 사용했던? 그것은 당신이 자바 스크립트를 필요로하지 않을 수도 있지만 CSS를 사용하여 괜찮을 수 있습니다 ... – maiwald

+0

@ mainwald - 내부 레이어'mychat'에 새 라인이 추가 될 때마다 어떻게 DIV 레이어'chat'의 자동 스크롤을 얻을 수 있습니까? –

답변

0

JavaScript를 사용하면 div의 scrollTop 속성을 찾고 있습니다.

scrollTop이 0이면 스크롤 막대가 페이지 상단에 있음을 의미합니다.

시도 : myDiv.scrollTop = myDiv.clientHeight 또는 이와 비슷한 측정 항목입니다.

+0

죄송합니다, 틀렸어요! DIV 'mychat' 높이가 변경되면 DIV'chat'이 아래로 스크롤해야합니다. 당신이 준 코드는 이미 내 질문에있다. 'mychat' DIV에서 높이 변화를 감지하는 방법이 필요합니다. 높이 변경이 감지되면 스크롤 막대 만 내려와야합니다. –