在使用PHP& amp; jQuery ajax方法,我怎么能把表情符号/表情符号?

时间:2012-01-04 13:43:30

标签: php jquery ajax chat chatroom

我创建了3个页面 - mainpage.phppost.phpdisplay.php 主页的主聊天界面有一个div id' chatbox'和一个带有提交按钮的textarea。单击提交按钮,使用jQuery调用post.php&将用户的消息输入数据库。这没有问题。

然后我使用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毫秒 -

的间隔调用的函数
setInterval (loadLog, delaytime); 

这也很好。

现在,在display.php中,我使用了

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

在聊天中显示表情符号。这个代码在这里: http://pluginphp.com/plug-in59.php

我的问题:由于我们每2500毫秒刷新display.php,因此表情符号每次显示时都会闪烁。这不会发生在文本中,因为文本很快,而图像需要时间加载。这不太理想。有没有办法防止这种眨眼?

1 个答案:

答案 0 :(得分:3)

尝试将笑脸设为背景。一个充满情感的大文件。它将被加载一次,之后您可以轻松地在块上设置类定义的笑容。例如:<div class="emotion lol"></div>