2016-12-19 4 views
0

chat.jsのこのコード部分があります。自分のサイトで作業していますが、段落でチャットを生成したいのですが、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

'$( '#chat-area> p:gt(10)')。remove()' –

+0

これをforに追加しますか? –

+0

'$( '#chat-area p')。first()。remove()' – SachinGutte

答えて

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(); 
    } 
} 

またはあなただけの1つのチェックの後を行いたい場合は、のために:可能な解決策は、ベト最後の10の項目を反復処理し、コンテナにそれらを追加します

if($('#chat-area > p').length > 10){ 
    $('#chat-area > p').slice(0, $('#chat-area > p').length - 10).remove(); 
} 
+0

申し訳ありませんが、もっと多くの行を生成し続けます。 –

+0

コンソールの2番目のIF内の行を試してみてください。 – John

+0

はうまくいきません。 –

0

。最後の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' ] 
関連する問題