jQuery+PHP发布的内容进行无刷新分页(Fckeditor)


Posted in PHP onOctober 22, 2015

这篇文章将使用jQuery,并结合PHP,将Fckeditor发布的内容进行分页,并且实现无刷新切换页面。
 本文假设你是WEB开发人员,掌握了jQuery和PHP相关知识,并且熟知Fckeditor的配置和使用。
Fckeditor编辑器有一个插入分页符的功能按钮,点击该按钮,将会在内容区插入一条分页符,如下图红色框标注:

jQuery+PHP发布的内容进行无刷新分页(Fckeditor)

分页符对应生成的html代码是:

<div style="page-break-after: always"><span style="display: none"> </span></div>

我们实际应用情况是这样的:后台通过Fckeditor编辑器发布的内容,提交到数据库,前台通过PHP链接数据库获取发布的内容,然后将长内容进行分割,并进行分页。
PHP
PHP将内容分割的方法如下:

function pageBreak($content){ 
 $content = $content; 
 $pattern = "/<div style=\"page-break-after: always\"><span style=\"display: none\"> 
<\/span><\/div>/"; 
 $strSplit = preg_split($pattern, $content, -1, PREG_SPLIT_NO_EMPTY); 
 $count = count($strSplit); 
 $outStr = ""; 
 $i  = 1; 
 
 if ($count > 1 ) { 
  $outStr = "<div id='page_break'>"; 
  foreach($strSplit as $value) { 
   if ($i <= 1) { 
    $outStr .= "<div id='page_$i'>$value</div>"; 
   } else { 
    $outStr .= "<div id='page_$i' class='collapse'>$value</div>"; 
   } 
   $i++; 
  } 
 
  $outStr .= "<div class='num'>"; 
  for ($i = 1; $i <= $count; $i++) { 
   $outStr .= "<li>$i</li>"; 
  } 
  $outStr .= "</div></div>"; 
  return $outStr; 
 } else { 
  return $content; 
 } 
}

可以看出啦,上述代码中的$pattern就是Fckeditor编辑器生成的分页符代码,然后PHP通过preg_split()函数比对内容,以分隔符为分界点,将内容分割为多个page_,并且生成分页导航按钮。使用时只需调用pageBreak($content)即可。
CSS
我们通过CSS来呈现分页按钮的风格,当然你可以修改这些CSS,定制你想要的外观。

#page_break {} 
#page_break .collapse {display: none;} 
#page_break .num {padding: 10px 0;text-align: center;} 
#page_break .num li{display: inline; margin: 0 2px;padding: 3px 5px;border:1px solid #abcee4; 
background-color: #fff;color: #369;text-align: center;cursor: pointer;overflow: hidden;} 
#page_break .num li.on{background-color: #369;color: #fff;font-weight: bold;}

jQuery

$(function(){ 
 $('#page_break .num li:first').addClass('on'); 
 
 $('#page_break .num li').click(function(){ 
  //隐藏所有页内容 
  $("#page_break div[id^='page_']").hide(); 
 
  //显示当前页内容。 
  if ($(this).hasClass('on')) { 
   $('#page_break #page_' + $(this).text()).show(); 
  } else { 
   $('#page_break .num li').removeClass('on'); 
   $(this).addClass('on'); 
   $('#page_break #page_' + $(this).text()).fadeIn('normal'); 
  } 
 }); 
});

我们使用jQuery将分页导航按钮的第一页设置为当前状态,然后通过单击分页按钮,切换按钮的状态,并且显示对应页的内容。
顺便说一下,文章标题说的是无刷新,其实这不是Ajax的无刷新效果,而是通过jQuery控制页面内容的显示与隐藏,页面内容是一次性读取载入的。

关于jquery无刷新分页有许多文章,大家可以搜搜之前的文章,或许会有更大的启发。

PHP 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
MySQL中create table语句的基本语法是
Jan 15 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
PHPEXCEL 使用小记
Jan 06 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
thinkphp实现like模糊查询实例
Oct 29 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
PHP生成RSS文件类实例
Dec 05 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 #PHP
PHP实现无限级分类(不使用递归)
Oct 22 #PHP
PHP实现递归无限级分类
Oct 22 #PHP
php防止网站被攻击的应急代码
Oct 21 #PHP
PHP统计当前在线用户数实例讲解
Oct 21 #PHP
php精确的统计在线人数的方法
Oct 21 #PHP
为你总结一些php信息函数
Oct 21 #PHP
You might like
php 删除cookie方法详解
2014/12/01 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
python pillow模块使用方法详解
2019/08/30 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
银行自荐信范文
2013/10/07 职场文书
优秀求职自荐信怎样写
2013/12/18 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
辩论会主持词
2015/07/03 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
python 远程执行命令的详细代码
2022/02/15 Python
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle