2012-01-04 3 views
0

私は3ページ - mainpage.php,post.phpdisplay.phpを作成しました。
mainpageには、div id「chatbox」のメインチャットインターフェイスと、送信ボタン付きのテキストエリアがあります。送信ボタンをクリックすると、jQueryを使用してpost.php &と入力し、ユーザーのメッセージをデータベースに入力します。これには問題ありません。PHP&jQuery ajaxメソッドを使用して実装されたチャットルームで、どのように私は顔文字/スマイリーを置くことができますか?

次に、jQuery ajaxメソッド(下記参照)を使用してdisplay.phpを呼び出し、返されたコンテンツをチャットボックスdivに配置します。ここでは、コードです:

function loadLog(){ 
     if(counter>1) 
        delaytime=2500; 
     counter++; 
       var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20; 
     var id=$("#ID").val(); 
     var _url='display.php?Id='+id; 
     $.ajax({ 
      url:_url, 
      cache: false, 
      success: function(html){ 
       $("#chatbox").html(html); //Insert chat from DB into the #chatbox div  
       var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20; 
       if(newscrollHeight > oldscrollHeight){ 
        $("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); 
       } 
      }, 
     }); 
    } 

注:これは、これはあまりにも正常に動作2500 milliseconds-

の間隔で呼び出される関数です。

は今、display.phpに、私はチャット内の顔文字を表示するために

echo PIPHP_ReplaceSmileys($chatdisp['Msg'], 'smileys/'); 

を使用しました。このためのコードはここにある: http://pluginphp.com/plug-in59.php

私の問題:私たちはdisplay.phpごとに2500ミリ秒を更新しているので、顔文字は、彼らが表示されるたびに点滅します。画像が読み込まれるまでにテキストが速くなるので、これはテキストでは起こりません。これは理想的ではありません。この点滅を防ぐ方法はありますか?

+0

なぜあなたは大丈夫ですか? – Treffynnon

+0

あなたは叫ぶ必要はありません、私たちはすべてかなり聞いています – kufi

答えて

3

笑顔を背景にしてください。すべての感情を伴う1つの大きなファイル。それは一度ロードされ、その後ブロック上のクラス定義で簡単に笑顔を設定することができます。例:<div class="emotion lol"></div>

+0

CSS Spritesは良い潜在的な解決策のようです。 – fredley

+0

+1 - CSSスプライトはおそらくこのユースケースのための最良の解決策です。 – FtDRbwLXw6

+0

@EgorSazanovichどのページをスマイルズをバックグラウンドに設定すべきですか? –