我正在为这样的网页构建一个重复名称的网站:
thesame/thesame/1-1.html
thesame/thesame/1-2.html
thesame/thesame/1-3.html
第一个数字是章节编号,第二个是页码,我需要插入一个previous/next
按钮,下一个按钮将1添加到当前href并重定向(如果你在页面1-1.html它添加1,然后转到1-2.html,然后1-3.html)和前一个按钮从当前href中减去1。
我尝试了以下但影响了第一个数字(章节numper而不是页码):
var p = (window.location.href.split('/')[window.location.href.split('/').length-1].split('.')[0].split('-')[0]*1)+1;
这是一个演示
<!DOCTYPE html>
<html>
<body>
<p>Click the button to locate where in the string a specifed value occurs.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var str = "http://192.168.1.3:33334/Preview/the-website/3-37.html";
var html = (str.split('/')[str.split('/').length-1].split('-')[0]*1)+1;
document.getElementById("demo").innerHTML = html;
}
</script>
</body>
</html>
任何想法?
答案 0 :(得分:2)
最好这样做:
<html>
<head>
<script>
function next(c){
var maxp = 5;
var p = (window.location.href.split('/')[window.location.href.split('/').length-1].split('.')[0].split('-')[1]*1)+1;
window.location.href = (p > 0 && p <= maxp) ? c + '-' + p + '.html' : '#';
}
function prev(c){
var maxp = 5;
var p = (window.location.href.split('/')[window.location.href.split('/').length-1].split('.')[0].split('-')[1]*1)-1;
window.location.href = (p > 0 && p <= maxp) ? c + '-' +p + '.html' : '#';
}
</script>
</head>
<body>
<a onclick="next(1)">next</a>
<a onclick="prev(1)">prev</a>
</body>
</html>
将章节编号作为next和prev函数的参数
如果您不喜欢使用函数调用,请使用它: 下一个按钮:
<a onclick="javascript: var maxp = 5; var p = (window.location.href.split('/')[window.location.href.split('/').length-1].split('.')[0]*1)+1; window.location.href = (p > 0 && p <= maxp) ? '1-'+ p + '.html' : '#'">next</a>
上一个按钮:
<a onclick="javascript: var maxp = 5; var p = (window.location.href.split('/')[window.location.href.split('/').length-1].split('.')[0]*1)-1; window.location.href = (p > 0 && p <= maxp) ? '1-' + p + '.html' : '#'">prev</a>
这里maxp是最后一页索引