【发布时间】:2017-08-16 09:57:09
【问题描述】:
我正在从 MySQL 数据库中检索数据并使用 EventSource API 将其显示在网站上。到目前为止,一切都按预期工作,但我想以固定高度 div 显示数据,并将滚动条固定到此 div 的 底部 - 即始终显示最新的提要结果首先。
现在,当我加载页面时,滚动条固定在顶部。
我已经尝试了here 的建议,但它似乎不起作用。是因为我正在处理实时数据和 AJAX 请求以填充div?
到目前为止,我的目标是;
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.js"></script>
<style type="text/css">
#result {
overflow: auto;
max-height:224px;
width: 500px;
}
</style>
<script type="text/javascript">
// scrollbar to bottom
$("document").ready(function(){
var objDiv = document.getElementById("result");
objDiv.scrollTop = objDiv.scrollHeight;
});
// retrieve data from server and display in div
$("document").ready(function(){
var source = new EventSource("data.php");
var offline;
$.ajax({
type: "POST",
url: 'data.php',
data: {lastSerial: true},
dataType: 'json',
success: function(data){
$.each(data, function(key, value) {
document.getElementById("result").innerHTML += "New transaction: " + value.SerialNo + ' ' + value.TimeStamp + "<br>";
});
} // end success
});
});//end dom ready
</script>
</head>
<body>
<div id="result"><!--Server response inserted here--></div>
</body>
</html>
奇怪的是,每当我删除实时提要 javascript 并手动将一些(lorem ipsum)文本添加到 <div id="result"> 中时,滚动条就会出现在 div 的底部。
我可能会做一些非常愚蠢的事情:)
感谢任何建议。
【问题讨论】:
标签: javascript jquery css ajax html