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 相关文章推荐
PHP调用MySQL的存储过程的实现代码
Aug 12 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
PHP缓存技术的使用说明
Aug 06 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
PHP编码转换
Nov 05 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
php获取从html表单传递数组的方法
Mar 20 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
Feb 26 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
浅谈Laravel中使用Slack进行异常通知
May 29 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
实现树状结构的两种方法
2006/10/09 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
jQuery的学习步骤
2011/02/23 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
js实现简单计算器
2015/11/22 Javascript
jquery实现图片预加载
2015/12/25 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
初学python数组的处理代码
2011/01/04 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python class的继承方法代码实例
2020/02/14 Python
Sperry官网:帆船鞋创始品牌
2016/09/07 全球购物
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
元旦晚会感言
2014/03/12 职场文书
《长相思》听课反思
2014/04/10 职场文书
青年志愿者活动总结
2014/04/26 职场文书
企业消防安全责任书
2014/07/23 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
mysql的数据压缩性能对比详情
2021/11/07 MySQL