在線人數(shù)最簡單的就是直接利用js調(diào)用php了,這樣可以顯示出有多少人訪問了本站,如果要在用戶未刷新頁面的狀態(tài)實時顯示用戶在線人數(shù),我們可以利用jquery ajax來實現(xiàn),具體看個例子.
我們在一些應用中需要動態(tài)展示數(shù)據(jù),比如當前在線人數(shù),當前交易總額,當前匯率等等,前端頁面需要實時刷新獲取最新數(shù)據(jù)。本文將結(jié)合實例給大家介紹使用jQuery和PHP來實現(xiàn)動態(tài)數(shù)字展示效果。
本例假設(shè)要在頁面上動態(tài)展示(無需刷新整個頁面,只是局部刷新動態(tài)數(shù)字)當前在線用戶數(shù),常見在一些統(tǒng)計平臺上應用。在HTML頁面中只需定義以下結(jié)構(gòu):
<div class="count">當前在線:<span id="number"></span></div>
首先我們要定義一個動畫過程,使用jQuery的animate()函數(shù)實現(xiàn)從一個數(shù)字到另一個數(shù)字的變換過程,以下magic_number()自定義函數(shù)將代碼整合如下:
- function magic_number(value) {
- var num = $("#number");
- num.animate({count: value}, {
- duration: 500,
- step: function() {
- num.text(String(parseInt(this.count)));
- } //Vevb.com
- });
- };
然后update()函數(shù)使用了jQuery的$.getJSON()向后臺number.php發(fā)送了一個ajax請求,在得到PHP相應后,調(diào)用magic_number()展示最新的數(shù)字。為了能看到更好的效果,我們使用setInterval()設(shè)置代碼執(zhí)行的間隔時間,代碼如下:
- function update() {
- $.getJSON("number.php?jsonp=?", function(data) {
- magic_number(data.n);
- });
- };
- setInterval(update, 5000); //5秒鐘執(zhí)行一次
- update();
實際項目中,我們會使用PHP獲取數(shù)據(jù)庫中的最新數(shù)據(jù),然后通過PHP返回給前端,本例為了更好的演示,使用隨機數(shù)字,最后以json格式返回給前端js,number.php代碼如下:
- $total_data = array(
- 'n' => rand(0,999)
- );
- echo $_GET['jsonp'].'('. json_encode($total_data) . ')';
原理其實非常的簡單就是利用js settimeout實現(xiàn)過幾秒加載一個php文件從而達到了實時顯示在線人數(shù)的功能了.
新聞熱點
疑難解答