我从聊天中获得了这部分代码。我正在为我的网站工作,我想让它在段落中生成聊天但是在10行之后我想要第一个删除自己等等所以我们可以随时观看最后10条消息。我该如何管理?
以下是生成<p>
。
function updateChat(){
if(!instanse){
instanse = true;
$.ajax({
type: "POST",
url: "process.php",
data: {
'function': 'update',
'state': state,
'file': file
},
dataType: "json",
success: function(data){
if(data.text){
for (var i = 0; i < data.text.length; i++) {
$('#chat-area').append($("<p>"+ data.text[i] +"</p>"));
}
}
document.getElementById('chat-area').scrollTop = document.getElementById('chat-area').scrollHeight;
instanse = false;
state = data.state;
},
});
}
else {
setTimeout(updateChat, 1500);
}}
答案 0 :(得分:0)
for(var i = 0; i < data.text.length; i++){
$('#chat-area').append($("<p>"+ data.text[i] +"</p>"));
if($('#chat-area > p').length > 10){
$('#chat-area > p').first().remove();
}
}
或者如果您想在for:
之后只进行一次检查if($('#chat-area > p').length > 10){
$('#chat-area > p').slice(0, $('#chat-area > p').length - 10).remove();
}
答案 1 :(得分:0)
一种可能的解决方案是迭代最后10个条目并将它们附加到容器中。最后10个条目的辅助函数应该像这样写。
>takeLast = function(ary, batch_size) {
... return ary.slice(ary.length-batch_size, ary.length);
... }
>x =
[ 'Lorem',
'ipsum',
'dolor',
'sit',
'amet,',
'consectetuer',
'adipiscing',
'elit,',
'sed',
'diam',
'nonummy',
'nibh',
'euismod',
'tincidunt',
'ut',
'laoreet',
'dolore',
'magna',
'aliquam',
'erat',
'volutpat.',
]
>take(x, 10)
[ 'nibh',
'euismod',
'tincidunt',
'ut',
'laoreet',
'dolore',
'magna',
'aliquam',
'erat',
'volutpat' ]