2013-07-18 2 views
1

저는 jquery와 javascript에 익숙하지 않고이 문제를 해결하는 방법을 모릅니다 : jquery 채팅을하고 id가 'show_messages'인 div가 있습니다. 모든 메시지를로드합니다. 내 아약스 요청에서. 모든게 잘 작동, 유일한 문제는, 그 표시 메시지에 대한 div가 길어지고 길어지고 나는 스크롤바를 구현하는 방법을 전혀 모른다. jquery 스크롤 기능을 사용하려고했지만 작동하지 않았고 올바르게 사용하는 방법을 모르겠습니다. 어떻게 페이스 북의 메신저 또는 비슷한 메신저에서 간단한 스크롤바를 만들 수 있습니다.스크롤 막대를 구현하는 방법

내 코드 :

<div id="message_dialog" class="message_box"> 
    <div id="show_messages"></div> 
    <div id="feedback"></div> 
    <form action="#" method="post" id="message_form"> 
    <label>Say something:</label> 
    <textarea id="message"></textarea>         
    <input type="submit" id="send_message" value="Send Message"> 
    </form> 
</div> 
... 


    $(document).ready(function(){ 
     $('#start_conversation').click(function() {  
     $('#message_dialog').dialog(); 
      var interval = setInterval(function() { 

     $.ajax({ 
      type : "POST", 
      url: 'get_messages.php', 
      success: function(data) { 
       $('#show_messages').html(data); 
      } 
     }); 
    }, 1000); 
    return false; 
    }); 
}); 

$('#message_form').submit(function() { 
     var username = ... 
    var message = ... 

    $.ajax({ 
     type : "POST", 
     url: 'send_message.php', 
     data: { 'username' : username, 'message' : message }, 
     success: function(data) { 
      $('#feedback').html(data); 

       $('#feedback').fadeIn('slow', function() { 
        $('#feedback').fadeOut(6000); 
       });    
      $('#message').val('');   
     } 
    }); 
    return false; 
}); 

답변

2

max-height 속성과 overflow-y를 auto로 설정해도 문제가 해결되지 않습니까?

#show_messages{ 
max-height:200px; 
overflow-y:auto; 
} 

예를 들어 메시지가 해당 div 내에 표시되면이 기능을 사용하여 마지막 메시지로 스크롤 할 수 있습니다.

$("#show_messages").scrollTop($("#show_messages").children('div').last().offset().top); 
+0

그래, 그게 내가 무슨 뜻인지 그게, 나도 CSS는 새로운거야. 하지만 어떻게하면 자동으로 최신 메시지로 스크롤 할 수 있습니까? –

+0

http://api.jquery.com/offset/ 및 http://api.jquery.com/scrollTop/ 원하는 방식에 따라 기대하는 바를 달성하기 위해 사용해야하는 두 가지 기능은 다음과 같습니다 구현하려면, 나는 당신이 오프셋 함수를 사용하여 얻을 수있는 마지막으로 추가 된 메시지의 좌표와 scrollTop 사용해야한다고 생각합니다. – nubinub

+0

"#show_messages"내의 마지막 div로 스크롤하는 방법의 예를 사용하여 내 게시물을 편집했습니다. – nubinub

관련 문제