0

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

然后我使用 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 毫秒调用一次的函数——

setInterval (loadLog, delaytime); 

这也很好。

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

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

在聊天中显示笑脸。代码在这里: http: //pluginphp.com/plug-in59.php

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

4

1 回答 1

3

尝试将微笑设置为背景。1 个包含所有情绪的大文件。它将被加载一次,之后您可以轻松地在块上使用类定义设置微笑。前任:<div class="emotion lol"></div>

于 2012-01-04T13:47:48.880 回答