jq实现分页,jquery实现分页

  jq实现分页,jquery实现分页

  点击一个字母后,以该字母为首字母的所有单词都显示在下面;

  分页,每页显示15个字,每组有20个页码,1-20/20-40 ~ ~ ~

  首先是PHP文件中分页分页器的相关代码。

  公共函数searchWordsByInitial()

  //从AJAX发送的URL中获取参数:用户点击的字母和点击的页码。

  $ initial=html entities($ _ POST[ initial ],ENT_QUOTES, UTF-8 );

  $ page=html entities($ _ POST[ page ],ENT_QUOTES, UTF-8 );

  $ words=$ this-_ createWordObj();

  $ I=0;//用于显示序号从1开始

  $ perPageNum=12//每页显示的文章数为12。

  $ current page first=($ page-1)* $ perPageNum 1;

  $ current page last=$ page * $ perPageNum;

  //获取记录总数

  $ sum num=0;

  foreach($ words[$ initial]as $ key=$ word){

  $ sumNum

  //获取总页数

  $ pageNums=0;

  if(sum num){

  if($ sumNum $ perPageNum){ $ pagenum=1;}//如果数据总量小于$PageSize,那么只有一页

  If( $sumNum%$perPageNum ){ //取数据总量除以每页的余数。

  $ pagenum=(int)($ sumNum/$ perPageNum)1;//如果有余数,则页数等于数据总量除以每个页数,结果四舍五入加1。

  }否则{

  $ pagenum=$ sumNum/$ perPageNum;//如果没有余数,则页数等于数据总量除以每页。

  否则{

  $ pageNums=0;

  公共函数init _ search wordsbyinitial _ Pager($ sumNum,$pageNums,$page)

  //根据用户点击的页码,得到当前页面组的首页代码,比如用户点击的是38,那么这个组是21-40,首页代码是21。

  $ current _ first _ page=floor(($ page-1)/20)* 20 1;

  $ tab _ str= div id= search wordsbyinitial _ Pager ul

  for($ k=0;$k $k)

  $ j=$ k $ current _ first _ page

  $tab_str。=按钮。$ j . /按钮

  $tab_str。= /ul有span id= sumnums 。$ sumnum。/span words,span id= pagenum 。$ pagenum。/span page /div。

  返回$ tab _ str

  }

  Init.js相关的JQuery代码,它响应用户的操作。

  //初始化寻呼寻呼机

  var pageNums//总页数

  var sumNums//记录总数

  函数init _ search wordsbyinitial _ Pager(){

  pageNums=$(#pageNums )。html();//JS从页面HTML中获取

  sumNums=$(#sumNums )。html();

  if(pagenum==1)//如果只有一页,则隐藏页导航。

  $(#searchWordsByInitial_Pager )。html( /br

  //设页码默认值为1,默认显示第一页;

  if(page _ initial==undefined){ page _ initial=1;}

  //页面太多的时候,我们一组只显示20个页码,后面跟着一个NEXT按钮。点击后,我们可以显示以下20个页码;同样,最后一个按钮可以显示前20个按钮。

  $( # search wordsbyinitial _ Pager ul button:eq(19))。之后( button id= more _ forward Next/button

  $( # search wordsbyinitial _ Pager ul button:eq(0))。之前( button id= more _ back word Last/button

  //如果最后一组少于21页,则隐藏最后一个页码后的一组,包括下一步按钮[pageNums 21]

  //如果用户点击的页面是最后20页,那么最后一个页码之后的页面也要隐藏,包括NEXT按钮[offset 20]

  //(因为点击页面会触发这个初始化函数/其实你可以只把初始化函数的调用绑定到click letter事件上,不需要和Ajax动作绑定)

  //如果当前组的第一页为1,则隐藏最后一个按钮;否则,将显示最后一个按钮,允许用户单击以转到上一组。

  if($( # search wordsbyinitial _ Pager ul button . not _ more _ BTN )。等式(0)。html()==1)

  $( # search wordsbyinitial _ Pager ul button:eq(0))。hide();

  其他

  $( # search wordsbyinitial _ Pager ul button:eq(0))。show();

  //单击下一步按钮

  $(#more_forward )。实况(点击,功能(事件){

  //只要有翻页,就会有最后一个按钮

  $( # search wordsbyinitial _ Pager ul button:eq(0))。show();

  //让每页加20,比如1-20到21-40。

  for(I=0;i i ){

  $( # search wordsbyinitial _ Pager ul button . not _ more _ BTN )。等式(一)。html(parse int($( # search wordsbyinitial _ Pager ul button . not _ more _ BTN )。等式(一)。html())20);

  //在最后一页页码后隐藏按钮

  if($( # search wordsbyinitial _ Pager ul button . not _ more _ BTN )。等式(一)。html()==pageNums)

  $( # search wordsbyinitial _ Pager ul button )。切片(i 2)。hide();

  for(I=0;i i ){

  $( # search words by initial _ Pager ul按钮。不是更多的BTN).等式(一)。html(parse int($( # search words by initial _ Pager ul button。不是更多的BTN).等式(一)。html())-20);

  //判断是否要隐藏最后的按钮

  if($( # search words by initial _ Pager ul button。不是更多的BTN).等式(0)。html()==1)

  $( # search words by initial _ Pager ul button:eq(0)).hide();

  其他

  $( # search words by initial _ Pager ul button:eq(0)).show();

  $(.初始按钮列表按钮)。实况(点击,功能(事件){

  //清除所有字母笔划索引按钮的活跃类,并且设置点击的字母按钮为活跃;这里不要使用。属性和removeAttr

  $(.初始按钮列表按钮)。移除类(“active”);

  $(这个)。添加类(“活动”);

  //将要传送的参数拼串action=list _ by _ initial initial=O page _ initial=3

  BTN data= action=list _ by _ initial initial= initial _ value page= page _ initial;

  $.ajax({

  类型: POST ,

  网址:进程文件,

  数据:btnData,

  成功:函数(数据){

  $(#word_table_by_initials ).show();

  $(#word_table_by_initials ).html(" ");

  $(#word_table_by_initials ).html(数据);

  init _ search wordsbyinitial _ Pager();

  错误:函数(消息)

  警报(消息);

  //获取用户点击的页码(除去点击更多按钮)

  $( # search words by initial _ Pager button。不是更多的BTN).实况(点击,功能(事件){

  //清除所有页码的活跃类,并且设置点击的页码为活跃;这里不要使用。属性和removeAttr

  $( # search words by initial _ Pager button ).移除类(“active”);

  $(这个)。添加类(“活动”);

  //获取当前点击的页码

  page_initial=$(这个)。html();

  //将要传送的参数拼串action=list _ by _ initial initial=O page _ initial=3

  BTN data= action=list _ by _ initial initial= initial _ value page= page _ initial;

  $.ajax({

  类型: POST ,

  网址:进程文件,

  数据:btnData,

  成功:函数(数据){

  $(#word_list_by_initials ).hide();

  $(#word_table_by_initials ).html(" ");

  $(#word_table_by_initials ).html(数据);

  init _ search wordsbyinitial _ Pager();

  错误:函数(消息)

  警报(消息);

  });

  一些注意事项:

  1,$(divbutton.not_more_bt )中,前两个选择器之间是有空格的,后两个没有;因为最后一个是类选择器,要直接跟在按钮后面

  2,html().val().文本()的区别

  3,eq(index),lt(index);索引中的指数是从0开始,而且不能为变量,必须为数字

  如果需要让用到动态的索引,可以用。等式(一)

  4、var a=20

  var b=10

  var c;

  c=a b;

  结果不是30!是2020!

  正确的写法是c=parse int(a)_ parse int(b);

  减法没事,但是最好也要转化一下

  服务器端编程语言(专业超文本预处理器的缩写)的函数是intval();

  5,写代码之前,一定要规划好最优的方案,否则重头来就更费事了

  6、JS代码和超文本标记语言加载的逻辑顺序

jq实现分页,jquery实现分页