
本文以实时获取某产品的下载次数为场景,前台定时执行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
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。