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 相关文章推荐
jQuery实战之仿淘宝商城左侧导航效果
Apr 12 Javascript
基于jquery点击自以外任意处,关闭自身的代码
Feb 10 Javascript
利用jq让你的div居中的好方法分享
Nov 21 Javascript
js面向对象编程之如何实现方法重载
Jul 02 Javascript
jQuery获取及设置表单input各种类型值的方法小结
May 24 Javascript
js代码实现下拉菜单【推荐】
Dec 15 Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 Javascript
three.js绘制地球、飞机与轨迹的效果示例
Feb 28 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
Jun 29 Javascript
vue页面使用阿里oss上传功能的实例(一)
Aug 09 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
深入理解Angularjs 脏值检测
Oct 12 Javascript
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
用缓存实现静态页面的测试
2006/12/06 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
php的dl函数用法实例
2014/11/06 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript 写类方式之五
2009/07/05 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
解读ES6中class关键字
2017/11/20 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python3远程监控程序的实现方法
2019/07/15 Python
python实现两个文件夹的同步
2019/08/29 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
电子商务专员岗位职责
2013/12/11 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
物业公司采购员岗位职责
2013/12/31 职场文书
综合实践活动总结
2014/05/05 职场文书
2014年财务科工作总结
2014/11/11 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
redis lua限流算法实现示例
2022/07/15 Redis