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 得到根目录的 __FILE__ 常量
Jul 23 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
php简单统计在线人数的方法
May 10 PHP
PHP+Ajax异步带进度条上传文件实例
Nov 01 PHP
php文件管理基本功能简单操作
Jan 16 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
php和html的区别点详细总结
Sep 24 PHP
PHP判断是否是json字符串
Apr 01 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中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
Prototype RegExp对象 学习
2009/07/19 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python进程间通信Queue实例解析
2018/01/25 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
浅析Python面向对象编程
2020/07/10 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
python 利用zmail库发送邮件
2020/09/11 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
护士实习自我鉴定
2013/10/22 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
2016寒假假期总结
2015/10/10 职场文书
七年级话题作文之执着
2019/11/19 职场文书
导游词之昭君岛
2020/01/17 职场文书
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏