javascript - 一个带滚动条的DIV元素,怎么让它的滚动条位置默认保持在最底部?
迷茫
迷茫 2017-04-11 12:37:53
0
3
543

默认一条消息的时候,图片效果如下:

这时候我要是插入一条消息,就会成这样:

我想让这个p插入新消息后,自动滚动到底部,像这样:

中间区域的CSS配置如下:

请问,应该怎么做?
我目前只知道要写一个p尺寸变化的触发事件, 该调用什么回调函数执行操作呢?
只用原生JS,谢谢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Antworte allen(3)
Peter_Zhu

js:

var msg = document.createElement('p');
var chat = document.getElementById("chat");

chat.appendChild(msg);
chat.scrollTop = chat.scrollHeight;

jQuery:

$("#chat").append("<p>new message</p>");
$("#chat").scrollTo('100%');

p高度变化事件:

<p id="chat" onresize="chat_resized"></p
或者
chatp.addEventListener("resize", chat_resized);
或者
chatp.onresize = function() {};

jQuery:

$('#chat').bind("heightChange", function(){});
或者
$('#chat').bind("resize", function(){});
或者
$('#chat').on("resize", function(){});
巴扎黑

我的水平菜~,原生的js不会写,只会用jq写。思路就是下面这个。
当你插入文字的时候

 $('外层p').animate({scrollTop:$('内层p').height()+'px'},500)

这个我以前就是这么写的,关键就是scrollTop值变大就行了。

迷茫

插入新消息的时候可以给新消息的p一个唯一id,然后调用下面的语句就可以了

document.getElementById("xxx").scrollIntoView();
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage