广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    jQuery数字滚动展示效果

    2018-04-05 08:32:46 次阅读 稿源:互联网
    零七广告

    有时我们需要动态的展示访问次数、下载次数等效果,我们可以借助jQuery结合后台php实现一个滚动的数字展示效果。本文将结合实例使用jquery背景动画插件,将数字作为背景图片,定时让背景图片滚动起来,从而实现了滚动数字的效果。

    本文以实时获取某产品的下载次数为场景,前台定时执行javascript获取最新的下载次数,并滚动更新页面上的下载次数。

    HTML

    我们首先载入jQuery库文件和动画背景插件:animateBackground-plugin.js。

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

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

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

    jQuery

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

    1. function show_num(n){ 
    2.     var it = $(".t_num i"); 
    3.     var len = String(n).length; 
    4.     for(var i=0;i<len;i++){ 
    5.         if(it.length<=i){ 
    6.             $(".t_num").append("<i></i>"); 
    7.         } 
    8.         var num=String(n).charAt(i); 
    9.         var y = -parseInt(num)*30; //y轴位置 
    10.         var obj = $(".t_num i").eq(i); 
    11.         obj.animate({ //滚动动画 
    12.             backgroundPosition :'(0 '+String(y)+'px)'  
    13.             }, 'slow','swing',function(){} 
    14.         ); 
    15.     } 

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

    1. function getdata(){ 
    2.     $.ajax({ 
    3.         url: 'data.php'
    4.         type: 'POST'
    5.         dataType: "json"
    6.         cache: false
    7.         timeout: 10000, 
    8.         error: function(){}, 
    9.         success: function(data){ 
    10.             show_num(data.count); 
    11.         } 
    12.     }); 

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

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

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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告