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实现二分查找算法代码分享
Jun 24 PHP
php中的三元运算符使用说明
Jul 03 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
php汉字转拼音的示例
Feb 27 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
Sep 22 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
PHP答题类应用接口实例
Feb 09 PHP
php实现微信发红包
Dec 05 PHP
PHP使用Redis实现Session共享的实现示例
May 12 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抓取页面与代码解析 推荐
2010/07/23 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
php分页查询的简单实现代码
2017/03/14 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
vue实现多级菜单效果
2019/10/19 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
实例讲解React 组件
2020/07/07 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
Python深入学习之内存管理
2014/08/31 Python
python实现大文件分割与合并
2019/07/22 Python
python opencv调用笔记本摄像头
2019/08/28 Python
Django实现网页分页功能
2019/10/31 Python
python迭代器常见用法实例分析
2019/11/22 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
浅析Python中字符串的intern机制
2020/10/03 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
函授毕业生自我鉴定
2013/11/06 职场文书
优秀党支部申报材料
2014/12/24 职场文书
怎样写离婚协议书
2015/01/26 职场文书
python中if和elif的区别介绍
2021/11/07 Python