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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
php递归实现无限分类的方法
Jul 28 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
PHP观察者模式定义与用法实例分析
Mar 22 PHP
PHP7内核CGI与FastCGI详解
Apr 14 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 正则表达式小结
2009/08/31 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
css配合jquery美化 select
2013/11/29 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
python爬取微信公众号文章
2018/08/31 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
Python matplotlib可视化实例解析
2020/06/01 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
会计专业毕业生求职信分享
2014/01/03 职场文书
中职班主任培训心得体会
2016/01/07 职场文书