2017-02-26 83 views
0

因此,我目前正在开发一个项目,用户可以发送消息并将其显示在屏幕上(如消息框)。最新的一个是在div(#MESSAGES)的底部,为了让我更容易看到我会有JS自动向下滚动div。如何使div自动滚动下来,但仍然允许向上滚动

setInterval(function(){ 
$("#MESSAGES").scrollTop($("#MESSAGES")[0].scrollHeight); 
}, 800); 

向下滚动工作完美,直到用户想要向上滚动并查看以前的消息。这段代码会保持滚动div而不让用户阅读它。

问:除非用户滚动查看以前的消息,否则有没有办法让div在每次发送新消息时向下滚动?

谢谢!

+0

是,从区间除去给定的代码,这似乎($(“#MESSAGES”))。scrollTop($(“#MESSAGES”)[0])这个代码是这样的: '$('mySubmitMsgBtn')。 ('#消息“); })' – Todd

+0

run'$(”#MESSAGES“)。scrollTop($(”#MESSAGES“)[0] .scrollHeight);'只有当消息到达 – Sojtin

回答

0
  1. 计算div的内部高度

    $( '滚动 ')丙(' scrollHeight属性');

  2. 滚动滚动条到希望的值

    $( '滚动。')scrollTop的(200)。

  3. jQuery代码

    $(文件)。就绪(函数(){ $()scrollTop的($()丙( 'scrollHeight属性 '))' 滚动。 '' 滚动';。 });

  4. HTML代码

    DIV类= “滚动” 式= “高度:200像素;溢出-γ:滚动” ..