jQuery+PHP实现动态数字展示特效

HTML


本例假设要在页面上动态展示(无需刷新整个页面,只是局部刷新动态数字)当前在线用户数,常见在一些统计平台上应用。在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) . ‘)’;  



SyntaxHighlighter.highlight();