我使用HTML和JavaScript创建了一个窗口,用于显示我的网站生成的日志消息。我希望设置当用户打开日志窗口时,它自动滚动到日志消息的底部。我已经成功地显示了日志消息,但我无法让自动滚动正常工作。
我的HTML / JavaScript代码如下:
除了每次页面刷新时都会回到底部,这个方法是有效的;这使得查看顶部较旧的消息变得困难。有没有办法让它从div底部开始,但不强制用户往下滑动,如果他们正在查看靠近顶部的消息?
我的HTML / JavaScript代码如下:
<body>
<div class="container-fluid">
<div class="panel panel-default">
<div class="panel-heading text-center">
<h4 class="text-center">Log Messages</h4>
</div>
<div class="panel-body">
<div class="content" id="logtext">
<font face="courier">
<span id="show" class='value'></span>
</font>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
function saveLogs(data){
sessionStorage.setItem("logs",data.message);
}
$(document).ready(
function() {
setInterval(function() {
Dajaxice.InterfaceApp.getLogs(saveLogs);
var logs = sessionStorage.getItem("logs");
document.querySelector('.content .value').innerText = logs;
//I tried doing this and nothing happened.
var objDiv = document.getElementById("logtext");
objDiv.scrollTop = objDiv.scrollHeight;
}, 1000);
});
</script>
</div>
</body>
调用 dajaxice
基本上只是获取我拥有的日志文件的最后 n 行,然后将它们发送到我定义的名为 saveLogs()
的 js 函数。
我尝试使用 类似问题 中提供的一些解决方案,但没有运气让它们工作。
编辑 我尝试像这样设置:
<div class="panel-body">
<div class="content" id="logtext">
<script language="javascript" type="text/javascript">
document.getElementById('bottomspan').scrollIntoView();
</script>
<font face="courier">
<span id="show" class='value'>
</span>
<div id='bottomspan'></div>
</font>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
function saveLogs(data){
sessionStorage.setItem("logs",data.message);
}
$(document).ready(
// document.getElementById('bottomspan').scrollIntoView();
function() {
setInterval(function() {
Dajaxice.InterfaceApp.getLogs(saveLogs);
var logs = sessionStorage.getItem("logs");
document.querySelector('.content .value').innerText = logs;
var el = document.getElementById('bottomspan')
el.scrollIntoView();
var height = el.style.clientHeight
window.scrollBy(0, height);
},700);
});
</script>
除了每次页面刷新时都会回到底部,这个方法是有效的;这使得查看顶部较旧的消息变得困难。有没有办法让它从div底部开始,但不强制用户往下滑动,如果他们正在查看靠近顶部的消息?
#logtext
是可滚动的元素吗? - Coffee'd Up Hacker