如何实现滚动条

时间:2013-07-18 12:23:46

标签: javascript jquery

我是jquery和javascript的新手,并且不知道如何解决这个问题:我有一个简单的jquery聊天,并且有一个id为'show_messages'的div,我在其中加载了来自我的ajax请求的所有消息。一切正常,唯一的问题是,显示消息的div越来越长,我完全不知道如何实现滚动条。我试图使用jquery滚动功能,但我没有工作,我不知道如何正确使用它。如何在Facebook Messenger或类似的信使中创建一个简单的滚动条。

我的代码:

<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 个答案:

答案 0 :(得分: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);

答案 1 :(得分:-1)

我建议使用AlternateScroll jquery插件: http://www.dynamicdrive.com/dynamicindex11/facescroll/

它非常有用,您可以轻松自定义它。希望这可以帮助。