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安全编程之加密功能
Oct 09 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP数组操作汇总 php数组的使用技巧
Jul 17 PHP
优化PHP代码技巧的小结
Jun 02 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
php创建桌面快捷方式实现方法
Dec 31 PHP
PHP身份证校验码计算方法
Aug 10 PHP
php四种定界符详解
Feb 16 PHP
PHP观察者模式原理与简单实现方法示例
Aug 25 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 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之第二天
2006/10/09 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
php中动态变量用法实例
2015/06/10 PHP
初识ThinkPHP控制器
2016/04/07 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
深入浅析javascript继承体系
2017/10/23 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
js实现简单的秒表
2020/01/16 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
Python 返回汉字的汉语拼音
2009/02/27 Python
python原始套接字编程示例分享
2014/02/21 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python如何实现int函数的方法示例
2018/02/19 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
挂职个人工作总结
2015/03/05 职场文书
给病人的慰问信
2015/03/23 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
vue修饰符.capture和.self的区别
2022/04/22 Vue.js