您的位置:首页 > Web前端 > JQuery

jQuery数字滚动展示效果

2014-07-22 17:05 423 查看
地址: http://www.helloweba.com/view-blog-217.html


HTML

我们首先载入jQuery库文件和动画背景插件:animateBackground-plugin.js。
[code] 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/animateBackground-plugin.js"></script>


然后我们在页面适当的位置中加入要展示数字滚动效果的html元素。
[code] 
<div id="total"> 
   下载量:<span class="t_num"></span>次 
</div>


jQuery

首先来写一个函数show_num(),该函数用来实现动态滚动数字。我们将统计数字n进行拆分成一个个单独的数字,这些数字用<i></i>包围,通过调用插件backgroundPosition将图片定位到对应的每个数字上。
[code] 
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()实现数字滚动。
[code] 
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请求,更新下载次数:
[code] 
$(function(){ 
    getdata(); 
    setInterval('getdata()', 3000);//每隔3秒执行一次 
});


类似可以在统计网站访问量、统计影片播放次数、倒计时等方面得到应用,至于后台data.php如何处理数据不在本文叙述范围内,有兴趣的同学可以自己写一个诸如计数器之类的后台程序来返回data.count。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: