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 相关文章推荐
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
Sep 26 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 Javascript
简单的代码实现jquery定时器
Jan 03 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
Nov 04 Javascript
JavaScript模板引擎Template.js使用详解
Dec 15 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
React 源码中的依赖注入方法
Nov 07 Javascript
javascript判断一个变量是数组还是对象
Apr 10 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
May 01 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
php中给js数组赋值方法
2014/03/10 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
详解python持久化文件读写
2019/04/06 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
研究生自荐信
2013/10/09 职场文书
工厂厂长岗位职责
2013/11/08 职场文书
会计专业的自荐信
2013/12/12 职场文书
公益活动策划方案
2014/01/09 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
考试作弊检讨书
2015/01/27 职场文书
通讯稿范文
2015/07/22 职场文书