修改杰奇1.7模板 给章节内容添加分页
时间:04-27
作者:
上面是实现分页功能的主要代码,修改pagenum的值就可以把文章内容按照段落平均分成几页
效果如下图:
效果如下图:
在做小说站的时候,如果嫌内容章节页面下拉很长,尤其是手机页面,可以考虑给加一个分页
下面介绍一个简单的实现方法:
分页原理是按小段落分,将下面代码弄个JS 文件
function print(a) {
"undefined" != typeof console && console.log(a)
}
function get_page() {
var a = location.href;
var patt = new RegExp("\\?([0-9]+)")
patt = patt.exec(a)
patt = (patt != null) ? patt[1] : 1
return parseInt(patt)
}
function setFyUrl() {
url = location.href;
url = url.replace(/\?\d+/i,"");
if (page < pagenum){
page += 1
$("#pt_next1").prop("href", url + "?" + page);
$("#pt_next1").text("下一页");
$("#pt_next2").prop("href", url + "?" + page);
$("#pt_next2").text("下一页");
}
// url = location.href, fytxt && 4 != page ? ($("#pt_next1").prop("href", url + "?" + page), $("#pt_next1").text("下一页"))&&($("#pt_next2").prop("href", url + "?" + page), $("#pt_next2").text("下一页")) : $("#info").append("(4/4)")
}
function get_info(a){
for (ntxt = a.replace(/ /g, ""), ll = ntxt.split("<br>"), lly = a.split("<br>"), bb = 0, i = 0; i < ll.length; i++) bb += ll[i].length;
if (!(bb > 1e3 && ll.length > 25)) return print(bb), print(ll.length), !1;
for (print(bb), print(ll.length), cc = 0, xx = 0, i = 0; i < ll.length && (cc += ll[i].length, xx = i, !(cc > bb / 20)); i++);
pagenum = Math.round(ll.length / xx)
info={"pagenum":pagenum,"ll":ll,"lly":lly}
return info
}
function fy(ll,lly, b) {
if (rrr = new Array, b==1){
for (i = 0; i < ll.length && (rrr.push(lly[i]), !(i >= xx)); i++);
}
else if (b<pagenum){
for (i= (b-1)*xx + 1; i<ll.length && (rrr.push(lly[i]), !(i >= b*xx)); i++);
}
else {
for (i = (b-1)*xx + 1; i < ll.length; i++){
rrr.push(lly[i]);
}
}
return tttt = rrr.join("</p><p>")
}
isfy = !0
function getfy() {
if (txt = $("#chaptercontent").html(), page = get_page(), info = get_info(txt), isfy && (fytxt = fy(info['ll'], info["lly"], page))) {
var a = "";
pagenum = info['pagenum']
$("#info").append("(" + page + "/"+ pagenum +")");
$("#chaptercontent").html("" + fytxt + a);
setFyUrl();
}
}
上面是实现分页功能的主要代码,修改pagenum的值就可以把文章内容按照段落平均分成几页
效果如下图:
下面介绍一个简单的实现方法:
分页原理是按小段落分,将下面代码弄个JS 文件
function print(a) {
"undefined" != typeof console && console.log(a)
}
function get_page() {
var a = location.href;
var patt = new RegExp("\\?([0-9]+)")
patt = patt.exec(a)
patt = (patt != null) ? patt[1] : 1
return parseInt(patt)
}
function setFyUrl() {
url = location.href;
url = url.replace(/\?\d+/i,"");
if (page < pagenum){
page += 1
$("#pt_next1").prop("href", url + "?" + page);
$("#pt_next1").text("下一页");
$("#pt_next2").prop("href", url + "?" + page);
$("#pt_next2").text("下一页");
}
// url = location.href, fytxt && 4 != page ? ($("#pt_next1").prop("href", url + "?" + page), $("#pt_next1").text("下一页"))&&($("#pt_next2").prop("href", url + "?" + page), $("#pt_next2").text("下一页")) : $("#info").append("(4/4)")
}
function get_info(a){
for (ntxt = a.replace(/ /g, ""), ll = ntxt.split("<br>"), lly = a.split("<br>"), bb = 0, i = 0; i < ll.length; i++) bb += ll[i].length;
if (!(bb > 1e3 && ll.length > 25)) return print(bb), print(ll.length), !1;
for (print(bb), print(ll.length), cc = 0, xx = 0, i = 0; i < ll.length && (cc += ll[i].length, xx = i, !(cc > bb / 20)); i++);
pagenum = Math.round(ll.length / xx)
info={"pagenum":pagenum,"ll":ll,"lly":lly}
return info
}
function fy(ll,lly, b) {
if (rrr = new Array, b==1){
for (i = 0; i < ll.length && (rrr.push(lly[i]), !(i >= xx)); i++);
}
else if (b<pagenum){
for (i= (b-1)*xx + 1; i<ll.length && (rrr.push(lly[i]), !(i >= b*xx)); i++);
}
else {
for (i = (b-1)*xx + 1; i < ll.length; i++){
rrr.push(lly[i]);
}
}
return tttt = rrr.join("</p><p>")
}
isfy = !0
function getfy() {
if (txt = $("#chaptercontent").html(), page = get_page(), info = get_info(txt), isfy && (fytxt = fy(info['ll'], info["lly"], page))) {
var a = "";
pagenum = info['pagenum']
$("#info").append("(" + page + "/"+ pagenum +")");
$("#chaptercontent").html("" + fytxt + a);
setFyUrl();
}
}
上面是实现分页功能的主要代码,修改pagenum的值就可以把文章内容按照段落平均分成几页
效果如下图:
-
上一篇
杰奇1.7 php打开乱码,杰奇2.4开源版章节内容乱码问题,解决方案
这是个非常简单的问题,然而并不是每个人都了解php和杰奇的内容输出模式,所以在2.4采集本来就这么麻烦的情况下肯定会有很多的困扰。杰奇2.4网上流传的开源版本为utf-8编码,而关
- 下一篇
多选采集器提示:入库失败,ERR:Error 1364(HY000):X Field 'fileName' doesn't have a default value
多选采集器提示:入库失败,ERR:Error 1364(HY000):X Field 'fileName' doesn't have a default value 这个解决办法 作者已经给了 在数据库执行下面命令 ALTER