基于jQuery实现动态数字展示效果
我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据。本文将结合实例给大家介绍使用jQuery实现动态数字展示效果。
HTML代码
本例假设要在页面上动态展示(无需刷新整个页面,只是局部刷新动态数字)当前在线用户数,常见在一些统计平台上应用。在HTML页面中只需定义以下结构:
<divclass="count">当前在线:<spanid="number"> </span> </div>
jQuery代码:
首先我们要定义一个动画过程,使用jQuery的animate()函数实现从一个数字到另一个数字的变换过程,以下magic_number()自定义函数将代码整合如下:
functionmagic_number(value){ varnum=$("#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()设置代码执行的间隔时间。
functionupdate(){ $.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).')';