我們在一些應用中需要動態展示數據,例如當前線上人數,當前交易總額,當前匯率等等,前端頁面需要即時刷新獲取最新數據。本文將結合實例為大家介紹使用jQuery實現動態數位展示效果。
HTML程式碼
本例假設要在頁面上動態展示(無需刷新整個頁面,只是局部刷新動態數字)當前在線用戶數,常見在一些統計平台上應用。在HTML頁面中只需定義以下結構:
<div class="count">当前在线:<span id="number"> </span> </div>
jQuery代碼:
首先我們要定義一個動畫過程,使用jQuery的animate()函數實作從一個數字到另一個數字的變換過程,以下magic_number()自訂函數將程式碼整合如下:
function magic_number(value) { var num = $("#number"); num.animate({count: value}, { duration: 500, step: function() { num.text(String(parseInt(this.count))); } }); };
然後update()函數使用了jQuery的$.getJSON()向後台number.php發送了一個ajax請求,在得到PHP對應後,呼叫magic_number()展示最新的數字。
為了能看到更好的效果,我們使用setInterval()來設定程式碼執行的間隔時間。
function update() { $.getJSON("number.php?jsonp=?", function(data) { magic_number(data.n); }); }; setInterval(update, 5000); //5秒钟执行一次 update(); PHP
在實際專案中,我們會使用PHP取得資料庫中的最新數據,然後透過PHP傳回前端。本例為了更好的示範,使用隨機數字,最後以json格式傳回前端js,number.php程式碼如下:
$total_data = array( 'n' => rand(0,999) ); echo $_GET['jsonp'].'('. json_encode($total_data) . ')';