如何创建上一个/下一个按钮算法?

时间:2017-09-07 02:00:16

标签: javascript

我正在为这样的网页构建一个重复名称的网站:

 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>

任何想法?

1 个答案:

答案 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是最后一页索引