有時我們需要動態的展示訪問次數、下載次數等效果,我們可以藉助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進行拆分成一個個單獨的數字,這些數字用包圍,透過呼叫外掛程式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。
以上就是本文的全部內容,希望對大家的學習有所幫助。