ueditor 长文章分页

最基础的长文章分页虽然很简单,但一直没有去实践,最近没什么事情便捣鼓了一把

其实也没有说亲自去写每一行代码,网上搜索了一把,看中一哥们的一篇文章,便拿过来改吧改吧,因为是事后很久才写这个笔记,所以记不住那个文章的链接了,在此也正式的说声:抱歉,兄弟!


长文章分页常见的有两种方式,一种是通过js,另一种是结合后台程序,根据长度做截取,但因为html标签在截取的时候容易出现标签没有闭合的情况,而要解决这个问题就需要用正则去匹配,比较麻烦,个人比较喜欢第一种,方便实用 而且可控性、灵活性比较高,当然缺陷就是小编估计不干了,每篇文章都得手动的去插入分隔符;

长文章分页的关键点:分页符  比如ueditor的 _ueditor_page_break_tag_

两个js函数 split 和 test

 

下面上代码

<span style="font-size:14px;"><script type="text/javascript">
	var pageCount = 1;//总页数
	var regExp = /_ueditor_page_break_tag_/;//根据某处字符来分页
	var saveContent;//用于保存分页数据
	var content, pageList;//保存全局ID
	
	$(document).ready(function(){
		UeInitialize("#content-box","#page");
	});
	UeInitialize = function (id,page) {
		var cTxt = $(id).html();
		content = $(id);
		pageList = $(page);
		if (cTxt != null && regExp.test(cTxt)) {
		
			saveContent = cTxt.split(regExp);
			
			pageCount = saveContent.length;
			
		}
		window.UePageContent(1);
	};
	
	UePageContent = function (pageIndex) {
    if (pageIndex >= 1 && pageIndex <= pageCount && saveContent != null && saveContent.length >= 0) {
        var pageHtml = pageList;
        if ((parseInt(pageIndex) - 1) <= saveContent.length) {
            content.html(saveContent[parseInt(pageIndex) - 1]);
        }

        pageHtml.html("");
        var innHtml = "页数:" + pageIndex + "/" + pageCount;
        innHtml += "<a target='_self' href='javascript:UePageContent(1)'>首页</a>";
        if (pageIndex > 1) {
            innHtml += "<a target='_self' href='javascript:UePageContent(" + (parseInt(pageIndex) - 1) + ")'>上一页</a>";
        }
        if (pageIndex < pageCount) {
            innHtml += "<a target='_self' href='javascript:UePageContent(" + (parseInt(pageIndex) + 1) + ")'>下一页</a>";
        }
        innHtml += "<a target='_self' href='javascript:UePageContent(" + pageCount + ")'>末页</a>";
        pageHtml.html(innHtml);
    }
}
</script></span>

内容和分页容器

<span style="font-size:14px;"><div id="content-box">
 {$ainfo.content} //长文章内容
 </div>
 <div id="page"></div></span>

如此这般便可以实现一个简单的长文章分页了,当然分页条部分你可以根据自己的需求去修改 比如根据分页数去做一个循环,显示成1 2 3 4 这种形式的


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值