2012-01-04 42 views
0

我創建了3頁-mainpage.php, post.php,display.php
主頁面有一個div id爲'chatbox'的主聊天界面,以及一個帶有提交按鈕的textarea。點擊提交按鈕,使用jQuery調用post.php &將用戶的消息輸入到數據庫中。這沒有問題。在使用PHP&jQuery ajax方法實現的聊天室中,我怎樣才能表情符號/表情符號?

然後,我使用jQuery ajax方法(請參閱下文)調用display.php並將返回的內容放入chatbox 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 2012-01-04 13:46:57

+0

您不必大聲喧譁,我們都聽得很清楚 – kufi 2012-01-04 13:46:59

回答

3

嘗試設置爲背景的笑容。 1個擁有所有情緒的大文件。它會被加載一次,之後你可以很容易地用塊定義類的定義。例如:<div class="emotion lol"></div>

+0

CSS Sprites似乎是一個很好的潛在解決方案。 – fredley 2012-01-04 13:49:58

+0

+1 - CSS sprites可能是此用例的最佳解決方案。 – FtDRbwLXw6 2012-01-04 13:59:13

+0

@EgorSazanovich哪個頁面應該將背景設置爲背景? – 2012-01-05 03:14:19

相關問題