我有一个聊天框,人们可以在其中添加自己的消息,但我的问题是,添加新消息时,它不会向下滚动以显示新消息。 我通过使用此代码自动向下滚动,但在用户滚动时停止
固定这个$('.panel-body').scrollTop($('.panel-body').height()*$('.panel-body').height());
(面板体是类我滚动的div)
但这样做的问题是,如果用户想要上翻在以前的消息,他否则她将被迫退到底部。当用户滚动时停止“自动滚动”的最好方法是什么,但是当用户向下滚动或者只是加载页面时,会再次启动。
function addMsg(is_admin, name, mes, time) {
var newDiv = document.createElement("div");
newDiv.className = "row";
var p = document.createElement("p");
p.className = "text-muted name";
var p2 = document.createElement("p");
var text = document.getElementById("start");
var hr = document.createElement("hr");
var times = document.createElement("p")
text.appendChild(newDiv);
newDiv.appendChild(p);
p.innerHTML = name + ":";
newDiv.appendChild(p2);
newDiv.appendChild(times)
times.className = "time";
if (is_admin) {
p.style = "color: red;";
p2.innerHTML = mes;
times.innerHTML = "time: " + time;
} else {
p2.innerHTML = mes;
times.innerHTML = time;
}
newDiv.appendChild(hr);
这是我已经创建
我认为这个帖子可能会感兴趣https://stackoverflow.com/questions/33639197/prevent-all-scrolling-until-a-function-触发器 –
@MohamedChaawa从我看到的可以防止所有滚动 – ThatPurpleGuy