PHP与jquery实时显示网站在线人数实例详解


Posted in PHP onDecember 02, 2016

我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据。本文将结合实例给大家介绍使用jQuery和PHP来实现动态数字展示效果。

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

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

 首先我们要定义一个动画过程,使用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) . ')';

原理其实非常的简单就是利用js settimeout实现过几秒加载一个php文件从而达到了实时显示在线人数的功能了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
在php中使用sockets:从新闻组中获取文章
Oct 09 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
php调用mysql数据 dbclass类
May 07 PHP
PHP图片等比例缩放生成缩略图函数分享
Jun 10 PHP
cakephp打印sql语句的方法
Feb 13 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 PHP
PHP常用技巧汇总
Mar 04 PHP
抛弃 PHP 代价太高
Apr 26 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 #PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 #PHP
phpmailer绑定邮箱的实现方法
Dec 01 #PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 #PHP
thinkPHP商城公告功能开发问题分析
Dec 01 #PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 #PHP
PHP 芝麻信用接入的注意事项
Dec 01 #PHP
You might like
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
python执行外部程序的常用方法小结
2015/03/21 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
最新的大学生找工作自我评价
2013/09/29 职场文书
实习单位推荐信范文
2013/11/27 职场文书
小学生读书活动总结
2014/06/30 职场文书
医院义诊活动总结
2014/07/04 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技