我正在编写一个简单的函数,它将使用从服务器推送的数据更新页面。为了简单起见,我使用计时器来模拟服务器推送。
每次推送服务器消息时,我都想更新页面上显示的列表,新收到的消息位于列表顶部,最早的消息被丢弃。
这是我到目前为止所拥有的:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<div id="main_cntr">
<ul id="lst">
<li>Line 1 ....</li>
<li>Line 2 ....</li>
<li>Line 3 ....</li>
<li>Line 4 ....</li>
<li>Line 5 ....</li>
</ul>
<div>
</body>
<script type="text/javascript">
// mimics server side push message received at front end
// update list to contain only the last 5 elements
function update_list(newtext){
// Fetch li elements in $('#lst')
// truncate last one
// insert new text to top of li list (ideally, I want to pass the new text to insert to this function)
alert('Got called')
}
$(document).ready(function() {
window.setInterval(update_list, 10000);
});
</script>
</html>
我有两个问题:
- 我如何正确实现这一点(我不是真正的 JQuery 专家)
- 如何修改函数
update_list()
以便我可以向它传递一个新文本(例如随机文本),以便它更好地模拟服务器推送的数据?