php+jquery+html實現點擊不重新整理載入更多的執行個體代碼_php執行個體

來源:互聯網
上載者:User

基本原理:頁面載入時,jQuery向後台請求資料,PHP通過查詢資料庫將最新的幾條記錄顯示在列表頁,在列表頁的底部有個“更多”連結,通過觸發該連結,向服務端發送Ajax請求,後台PHP程式得到請求參數,並作出相應,擷取資料庫相應的記錄並以JSON的形式返回給前台頁面,前台頁面jQuery解析JSON資料,並將資料追加到列表頁。其實就是Ajax分頁效果。

HTML

首先要引入jquery庫和jquery.more.js外掛程式,jquery.more.js已經將許多功能都封裝好了,並提供了參數配置的功能。

<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.more.js"></script> 

xhtml結構如下:

<div id="more">   <div class="single_item">      <div class="element_head">        <div class="date"></div>        <div class="author"></div>       </div>       <div class="content"></div>   </div>   <a href="javascript:;" class="get_more">::點擊載入更多內容::</a> </div> 

值得一提的是,樣式single_item,get_more是和jquery.more.js外掛程式關聯的,你也可以取另外的class名字,但是在配置的時候一定要將對應的class寫上。

CSS

#more{margin:10px auto;width: 560px; border: 1px solid #999;}        .single_item{padding: 20px; border-bottom: 1px dotted #d3d3d3;} .author{position: absolute; left: 0px; font-weight:bold; color:#39f} .date{position: absolute; right: 0px; color:#999} .content{line-height:20px; word-break: break-all;} .element_head{width: 100%; position: relative; height: 20px;} .get_more{margin:10px; text-align:center} .more_loader_spinner{width:20px; height:20px; margin:10px auto; background: url(loader.gif) no-repeat;} 

以上CSS是本例中定製的,當然,大家可以在實際項目中定製不同的樣式。注意,more_loader_spinner是定義載入動畫圖片的。

jQuery

$(function(){   $('#more').more({'address': 'data.php'}) }); 

使用很簡單,配置了後台地址:data.php,來看data.php是怎麼處理資料的。

PHP

data.php連結資料庫,本例使用本站文章PHP+Mysql+jQuery實現發布微博程式--PHP篇相同的資料表。

require_once('connect.php'); $last = $_POST['last']; $amount = $_POST['amount']; $user = array('demo1','demo2','demo3','demo3','demo4'); $query=mysql_query("select * from say order by id desc limit $last,$amount"); while ($row=mysql_fetch_array($query)) {   $sayList[] = array(     'content'=>$row['content'],     'author'=>$user[$row['userid']],     'date'=>date('m-d H:i',$row['addtime'])    ); } echo json_encode($sayList); 

 data.php接收前台頁面提交過來的兩個參數,$_POST['last']即開始記錄數,$_POST['amount']即單次顯示記錄數,看SQL語句就明白,其實就是分頁中用到的語句。

然後將查詢的結果以JSON格式輸出,PHP的任務就完成了。

最後來看下jquery.more.js的參數配置。

'amount'   :  '10',      //每次顯示記錄數 'address'   :  'comments.php', //請求背景地址 'format'   :  'json',     //資料轉送格式 'template'  :  '.single_item', //html記錄DIV的class屬性 'trigger'   :  '.get_more',  //觸發載入更多記錄的class屬性 'scroll'   :  'false',    //是否支援滾動觸發載入 'offset'   :  '100',     //滾動觸發載入時的位移量 

本文DEMO中需要單擊才能載入更多內容,接下來的文章我將會製作通過捲軸來觸發載入更多內容的DOMO,敬請關注。

以上這篇php+jquery+html實現點擊不重新整理載入更多的執行個體代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.