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 异步调用框架 (Part 6 - 实例 &amp; 模式)
Aug 04 Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 Javascript
js禁止小键盘输入数字功能代码
Aug 01 Javascript
JavaScript省市联动实现代码
Feb 15 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
Oct 19 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 Javascript
基于vue中的scoped坑点解说
Sep 04 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 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 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
Symfony控制层深入详解
2016/03/17 PHP
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
JS验证码实现代码
2017/09/14 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
Python中用format函数格式化字符串的用法
2015/04/08 Python
Python psutil模块简单使用实例
2015/04/28 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
python实现停车管理系统
2018/11/30 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
python logging设置level失败的解决方法
2020/02/19 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
工作的心得体会
2013/12/31 职场文书
英语老师推荐信
2014/02/26 职场文书
节水标语大全
2014/06/11 职场文书
篮球赛口号
2014/06/18 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
导游词之江南周庄
2019/12/06 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python