jquery+php实现滚动的数字特效


Posted in Javascript onNovember 29, 2015

有时我们需要动态的展示访问次数、下载次数等效果,我们可以借助jQuery结合后台php实现一个滚动的数字展示效果。

jquery+php实现滚动的数字特效

本文以实时获取某产品的下载次数为场景,前台定时执行javascript获取最新的下载次数,并滚动更新页面上的下载次数。
HTML
我们首先载入jQuery库文件和动画背景插件:animateBackground-plugin.js。

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/animateBackground-plugin.js"></script>

然后我们在页面适当的位置中加入要展示数字滚动效果的html元素。

<div id="total"> 
  下载量:<span class="t_num"></span>次 
</div>

jQuery
首先来写一个函数show_num(),该函数用来实现动态滚动数字。我们将统计数字n进行拆分成一个个单独的数字,这些数字用<i></i>包围,通过调用插件backgroundPosition将图片定位到对应的每个数字上。

function show_num(n){ 
  var it = $(".t_num i"); 
  var len = String(n).length; 
  for(var i=0;i<len;i++){ 
    if(it.length<=i){ 
      $(".t_num").append("<i></i>"); 
    } 
    var num=String(n).charAt(i); 
    var y = -parseInt(num)*30; //y轴位置 
    var obj = $(".t_num i").eq(i); 
    obj.animate({ //滚动动画 
      backgroundPosition :'(0 '+String(y)+'px)' 
      }, 'slow','swing',function(){} 
    ); 
  } 
}

接着,我们通过ajax获取后台最新的下载次数。下面的代码是一个常见的jQuery的ajax请求,通过post请求到data.php,data.php或获取最新的下载次数,处理成功后则得到下载次数:data.count,然后调用show_num()实现数字滚动。

function getdata(){ 
  $.ajax({ 
    url: 'data.php', 
    type: 'POST', 
    dataType: "json", 
    cache: false, 
    timeout: 10000, 
    error: function(){}, 
    success: function(data){ 
      show_num(data.count); 
    } 
    }); 
}

最后,我们在页面加载完后要初始化数据,然后每隔3秒钟执行一次ajax请求,更新下载次数:

$(function(){ 
  getdata(); 
  setInterval('getdata()', 3000);//每隔3秒执行一次 
});

类似可以在统计网站访问量、统计影片播放次数、倒计时等方面得到应用,至于后台data.php如何处理数据不在本文叙述范围内,有兴趣的同学可以自己写一个诸如计数器之类的后台程序来返回data.count。

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JavaScript国旗变换效果代码
Aug 13 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
Oct 18 Javascript
JavaScript表单验证实现代码
May 22 Javascript
基于zTree树形菜单的使用实例
Dec 25 Javascript
使用Vue自定义指令实现Select组件
May 24 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
Jun 13 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
vue如何限制只能输入正负数及小数
Jul 04 Javascript
基于Electron实现桌面应用开发代码实例
Jul 07 Javascript
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
MVC Ajax Helper或Jquery异步加载部分视图
Nov 29 #Javascript
Javascript闭包实例详解
Nov 29 #Javascript
jQuery实现图片上传和裁剪插件Croppie
Nov 29 #Javascript
javascript高级编程之函数表达式 递归和闭包函数
Nov 29 #Javascript
javascript实现拖动元素交换位置
Nov 29 #Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
Nov 29 #Javascript
通用javascript代码判断版本号是否在版本范围之间
Nov 29 #Javascript
You might like
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
node.js基础知识小结
2018/02/26 Javascript
python实现基本进制转换的方法
2015/07/11 Python
Python3连接MySQL(pymysql)模拟转账实现代码
2016/05/24 Python
python中json格式数据输出的简单实现方法
2016/10/31 Python
python实现简单多人聊天室
2018/12/11 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
汽车工程专业应届生求职信
2013/10/19 职场文书
质检部岗位职责
2013/11/11 职场文书
运动会广播稿80字
2014/01/23 职场文书
小学生安全保证书
2014/02/01 职场文书
通知函的格式
2015/04/27 职场文书
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python
vue实现登陆页面开发实践
2022/05/30 Vue.js
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技