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保存和输出文件
Oct 09 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
php修改数组键名的方法示例
Apr 15 PHP
php数据结构之顺序链表与链式线性表示例
Jan 22 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 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守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
将string解析为json的几种方式小结
2010/11/11 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
Angular工具方法学习
2016/12/26 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
python版本的仿windows计划任务工具
2018/04/30 Python
python实现ip代理池功能示例
2019/07/05 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
电信专业毕业生推荐信
2013/11/18 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
社区母亲节活动记录
2014/03/06 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
个人委托书范本
2014/09/13 职场文书
工作检讨书500字
2014/10/19 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
庐山导游词
2015/02/03 职场文书
用电申请报告范文
2015/05/18 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书