动态刷新数字

本例假设要在页面上动态展示(无需刷新整个页面,只是局部刷新动态数字)当前在线用户数,常见在一些统计平台上应用。在HTML页面中只需定义以下结构:

<div class="count">当前在线:<span id="number"></span></div> 

jQuery

首先我们要定义一个动画过程,使用jQuery的animate()函数实现从一个数字到另一个数字的变换过程,以下magic_number()自定义函数将代码整合如下:

function magic_number(value) 
    var num = $("#number"); 
    num.animate({count: value}, 
        duration: 500, 
        step: function() 
            num.text(String(parseInt(this.count))); 
        
    }); 
}; 

然后update()函数使用了jQuery的$.getJSON()向后台number.php发送了一个ajax请求,在得到PHP相应后,调用magic_number()展示最新的数字。为了能看到更好的效果,我们使用setInterval()设置代码执行的间隔时间。

function update() 
    $.getJSON("number.php?jsonp=?", function(data) 
        magic_number(data.n); 
    }); 
}; 
 
setInterval(update, 5000); //5秒钟执行一次 
update(); 

PHP

实际项目中,我们会使用PHP获取数据库中的最新数据,然后通过PHP返回给前端。本例为了更好的演示,使用随机数字,最后以json格式返回给前端js,number.php代码如下:

$total_data = array( 
    'n' => rand(0,999) 
);     
echo $_GET['jsonp'].'('. json_encode($total_data) . ')';   
 
posted @ 2015-10-22 17:30  老款码农  阅读(368)  评论(0)    收藏  举报