欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

tp5框架無(wú)刷新分頁(yè)實(shí)現(xiàn)方法分析

 更新時(shí)間:2019年09月26日 10:42:47   作者:leo_jk  
這篇文章主要介紹了tp5框架無(wú)刷新分頁(yè)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP5框架無(wú)刷新分頁(yè)相關(guān)原理、實(shí)現(xiàn)步驟與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了tp5框架無(wú)刷新分頁(yè)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

已tp5 分頁(yè)為例,

1.默認(rèn)生成的分頁(yè) 頁(yè)碼如下:

<ul class="pagination">
<li><a href="?page=1" rel="external nofollow" rel="external nofollow" >&laquo;</a></li>
<li><a href="?page=1" rel="external nofollow" rel="external nofollow" >1</a></li>
<li class="active"><span>2</span></li>
<li class="disabled"><span>&raquo;</span></li>
</ul>

2.點(diǎn)擊頁(yè)碼  值,跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面,并get傳 page='1' or '2';

所以無(wú)刷新需要做到兩點(diǎn),阻止頁(yè)碼 a鏈接跳轉(zhuǎn) 和 傳值【post 和 get都可以】,ajax傳值到后端控制器時(shí),接收并存入$page即可,一定要存入$page,不能是其他變量名(因?yàn)榭蚣芊庋b的類(lèi)里面獲取當(dāng)前頁(yè)就是從$page中獲取的?。?/p>

具體做法是:

1.進(jìn)入首頁(yè)面(帶分頁(yè)的頁(yè)面),用js或jQuery 給頁(yè)碼a標(biāo)簽阻止跳轉(zhuǎn);

$('#pag ul li a').attr("href",'javascript:void(0);');

2.給各頁(yè)碼元素綁定點(diǎn)擊事件,所做的邏輯就是當(dāng)頁(yè)碼被點(diǎn)擊時(shí),計(jì)算或獲取到要跳轉(zhuǎn)的頁(yè)面值。

3.確定了要跳轉(zhuǎn)的頁(yè)面值后,然后ajax傳值到后端(傳遞的就是page ,post  get方式都可以)。

4.后端控制器獲取到傳值,并存入$page ,其他分頁(yè)的邏輯按照正常做法查詢(xún)即可,只是查詢(xún)出來(lái)的數(shù)據(jù)需要組裝成字符串返回去。(返回去的還需要有頁(yè)碼字符串,每一次無(wú)刷新的頁(yè)碼字符串都不同,每切換一個(gè)頁(yè)面,需要重新再和數(shù)據(jù)更換一次)

4.1為什么定義為$page?  請(qǐng)去框架tp5   thinkphp/think/db/Query.php 找到paginate方法,入下位置(1333-1338行):

$page = isset($config['page']) ? (int) $config['page'] : call_user_func([
  $class,
  'getCurrentPage',
], $config['var_page']);
$page = $page < 1 ? 1 : $page;

5.返回的數(shù)據(jù)通過(guò)jquery填入頁(yè)面里,并刪除之前的數(shù)據(jù)元素!

2-5  jquery代碼如下:

$(function(){
  //去掉分頁(yè)的點(diǎn)擊跳轉(zhuǎn)
  del_jump();
  //當(dāng)分頁(yè)被點(diǎn)擊時(shí),進(jìn)行無(wú)刷新分頁(yè)
  $("#pag").on('click','ul li a',function(){
   //當(dāng)前被點(diǎn)擊的頁(yè)碼數(shù) 或者 箭頭
   dianji = $(this).html();
   current_page = $('.active span').html();
   page = '';
   if(dianji == "«") {
    current_page = Number(current_page);
    page = String(current_page-1);
   }else if(dianji == "»") {
    current_page = Number(current_page);
    page = String(current_page+1);
   }else{
    page = dianji;
   }
   //發(fā)送ajax到后臺(tái)
   $.post("{:url('Virtual/index')}",
    {'page':page},
    function(data){
     //將返回的數(shù)據(jù)添加到頁(yè)面上去
     $('#record_list').html(data.html);
     $('#pag').html(data.pages);
     del_jump();
    },'json');
  });
  //去掉分頁(yè)的點(diǎn)擊跳轉(zhuǎn)
  function del_jump() {
    $('#pag ul li a').attr("href",'javascript:void(0);');
  }
});

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php批量修改表結(jié)構(gòu)實(shí)例

    php批量修改表結(jié)構(gòu)實(shí)例

    下面小編就為大家?guī)?lái)一篇php批量修改表結(jié)構(gòu)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • laravel框架分組控制器和分組路由實(shí)現(xiàn)方法示例

    laravel框架分組控制器和分組路由實(shí)現(xiàn)方法示例

    這篇文章主要介紹了laravel框架分組控制器和分組路由實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了laravel框架分組控制器和分組路由的基本定義與使用方法,需要的朋友可以參考下
    2020-01-01
  • PHP 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼

    PHP 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼

    本文通過(guò)實(shí)例代碼給大家介紹了php獲取視頻時(shí)長(zhǎng)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Laravel 5框架學(xué)習(xí)之表單驗(yàn)證

    Laravel 5框架學(xué)習(xí)之表單驗(yàn)證

    Laravel 通過(guò) Validation 類(lèi)讓您可以簡(jiǎn)單、方便的驗(yàn)證數(shù)據(jù)正確性及查看相應(yīng)的驗(yàn)證錯(cuò)誤信息。如果是更復(fù)雜的驗(yàn)證場(chǎng)景,你可能需要?jiǎng)?chuàng)建一個(gè)"表單請(qǐng)求"。表單請(qǐng)求是一個(gè)自定義的請(qǐng)求類(lèi)包含了一些驗(yàn)證的邏輯。你可以通過(guò) Artisan 的命令行 make:request 來(lái)創(chuàng)建一個(gè)表單請(qǐng)求類(lèi)
    2015-04-04
  • PHP+shell腳本操作Memcached和Apache Status的實(shí)例分享

    PHP+shell腳本操作Memcached和Apache Status的實(shí)例分享

    這篇文章主要介紹了PHP環(huán)境下使用shell腳本操作Memcached和Apache Status的方法,分別還可以控制Memcached進(jìn)程的啟動(dòng)以及記錄Apache Status數(shù)據(jù)到數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2016-03-03
  • Zend Framework教程之Zend_Config_Ini用法分析

    Zend Framework教程之Zend_Config_Ini用法分析

    這篇文章主要介紹了Zend Framework教程之Zend_Config_Ini用法,較為詳細(xì)的分析了Zend_Config_Ini操作配置數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • php 生成自動(dòng)創(chuàng)建文件夾并上傳文件的示例代碼

    php 生成自動(dòng)創(chuàng)建文件夾并上傳文件的示例代碼

    本篇文章主要是對(duì)php生成自動(dòng)創(chuàng)建文件夾并上傳文件的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-03-03
  • Laravel框架中自定義模板指令總結(jié)

    Laravel框架中自定義模板指令總結(jié)

    Blade 允許你自定義命令,你可以使用 directive 方法注冊(cè)命令。下面這篇文章主要給大家總結(jié)介紹了關(guān)于Laravel框架中自定義模板指令的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧
    2017-12-12
  • 基于PHP函數(shù)的操作方法

    基于PHP函數(shù)的操作方法

    下面小編就為大家?guī)?lái)一篇基于PHP函數(shù)的操作方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 實(shí)例分析基于PHP微信網(wǎng)頁(yè)獲取用戶(hù)信息

    實(shí)例分析基于PHP微信網(wǎng)頁(yè)獲取用戶(hù)信息

    本篇內(nèi)容主要給大家詳細(xì)分析了用PHP制作微信網(wǎng)頁(yè)來(lái)獲取用戶(hù)基本信息的過(guò)程,以及步驟講解。
    2017-11-11

最新評(píng)論