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 相关文章推荐
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
Feb 24 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
jQuery中siblings()方法用法实例
Jan 08 Javascript
jquery自定义表格样式
Nov 23 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
Yarn的安装与使用详细介绍
Oct 25 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
Jan 23 Javascript
React入门教程之Hello World以及环境搭建详解
Jul 11 Javascript
微信小程序自定义键盘 内部虚拟支付
Dec 20 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 Javascript
JS实现获取当前所在周的周六、周日示例分析
May 11 Javascript
ant-design-vue按需加载的坑的解决
May 14 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
php socket方式提交的post详解
2008/07/19 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
fgetcvs在linux的问题
2012/01/15 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
Python的pycurl包用法简介
2015/11/13 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python 读取二进制 显示图片案例
2020/04/24 Python
建筑专业自我鉴定
2013/10/22 职场文书
农村婚礼主持词
2014/03/13 职场文书
班组长竞聘书
2014/03/31 职场文书
质量月口号
2014/06/20 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
长征观后感
2015/06/09 职场文书
付款证明格式范文
2015/06/19 职场文书
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python
Golang 结构体数据集合
2022/04/22 Golang
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android