1

当我在 facebook 中收到评论或回答我的问题 StackExchange 时,我看到左上角的红色圆圈有任何效果。我每 X 分钟加载/刷新我的 div。现在我需要在这个红色圆圈中打印我的结果(1,2,3 ...) 。如何工作?我的结果DIV id="new"

我的代码:

<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#new').load('new.php').fadeIn("slow");
}, 10000); // refresh every 10000 milliseconds
</script>

<div id="new"></div>

演示屏幕:

在此处输入图像描述

谢谢

4

1 回答 1

3

您可以使用 SetTimeOut() javascript 函数

(function(){
        $.ajax({
            'url': 'news.php', 
            'success':  function (data,textStatus)
                        {
                            var res = $.parseJSON(data);
                            if(res.ok)
                            {
                                $('#news').html(res.newsCount);
                            }
                        }
        });
        setTimeout(arguments.callee, 1000);
    })();​

我不知道你的 new.php 做了什么,但我认为 ajax 函数是获取新通知计数的更好方法

例如:http : //jsfiddle.net/PCSL5/3/

对于 php:

$result = array();
$result['ok'] = false;
/*
* make here your DB Query
*/

if($queryResultAsCount > 0 )
{
    $result['newsCount'] = $queryResultAsCount;
    $result['ok'] = true;
}

$json = json_encode($result);

die($json);

在你的 ajax 请求中,你得到一个 JSON 对象,它有 2 个属性 res.ok 和 res.newsCount (作为你死的 php 表)

于 2012-04-26T09:33:39.697 回答