Javascript 自动滚动到div的底部
我有一个带有溢出设置的div来滚动,它基本上是从一个文件中逐行传输数据。我想在流溢出时自动滚动到div的底部,但不使用“单击此处滚动到底部”按钮 我已经知道了,但这需要客户端的某种事件触发器。我不希望这个元素是交互的;它应该自动滚动Javascript 自动滚动到div的底部,javascript,html,scroll,Javascript,Html,Scroll,我有一个带有溢出设置的div来滚动,它基本上是从一个文件中逐行传输数据。我想在流溢出时自动滚动到div的底部,但不使用“单击此处滚动到底部”按钮 我已经知道了,但这需要客户端的某种事件触发器。我不希望这个元素是交互的;它应该自动滚动 有没有办法做到这一点?没有办法自动将元素滚动到底部。使用element.scrollTop=element.scrollHeight 如果不知道元素何时调整大小,可以添加轮询器: (function(){ var element = document.get
有没有办法做到这一点?没有办法自动将元素滚动到底部。使用
element.scrollTop=element.scrollHeight
如果不知道元素何时调整大小,可以添加轮询器:
(function(){
var element = document.getElementById("myElement");
var lastHeight = element.scrollHeight;
function detectChange(){
var currentHeight = element.scrollHeight;
if(lastHeight != currentHeight){
element.scrollTop = currentHeight;
lastHeight = currentHeight;
}
}
detectChange();
setInterval(detectChange, 200); //Checks each 200ms = 5 times a second
})();
当添加新内容时,我的一些旧代码将保留在底部,如果用户滚动,它将不会更多地保留在底部
var chatscroll = new Object();
chatscroll.Pane =
function(scrollContainerId)
{
this.bottomThreshold = 25;
this.scrollContainerId = scrollContainerId;
}
chatscroll.Pane.prototype.activeScroll =
function()
{
var scrollDiv = document.getElementById(this.scrollContainerId);
var currentHeight = 0;
if (scrollDiv.scrollHeight > 0)
currentHeight = scrollDiv.scrollHeight;
else
if (objDiv.offsetHeight > 0)
currentHeight = scrollDiv.offsetHeight;
if (currentHeight - scrollDiv.scrollTop - ((scrollDiv.style.pixelHeight) ? scrollDiv.style.pixelHeight : scrollDiv.offsetHeight) < this.bottomThreshold)
scrollDiv.scrollTop = currentHeight;
scrollDiv = null;
}
var chatcroll=new Object();
chatscroll.Pane=
函数(滚动容器ID)
{
这个阈值=25;
this.scrollContainerId=scrollContainerId;
}
chatscroll.Pane.prototype.activeScroll=
函数()
{
var scrollDiv=document.getElementById(this.scrollContainerId);
var currentHeight=0;
如果(scrollDiv.scrollHeight>0)
currentHeight=scrollDiv.scrollHeight;
其他的
如果(objDiv.offsetHeight>0)
currentHeight=scrollDiv.offsetHeight;
if(currentHeight-scrollDiv.scrollTop-((scrollDiv.style.pixelHeight)?scrollDiv.style.pixelHeight:scrollDiv.offsetHeight)
很多scrollHeight的实现对我来说都不起作用,OfftheSight似乎起到了作用
非常确定scrollHeight尝试将其移动到静态元素高度的底部,而不是可滚动区域的高度
var pane = document.getElementById('pane');
pane.scrollTop = pane.offsetHeight;