Javascript:转到上一页/下一页
Javascript: Go to previous/next page
本文关键字:一页 Javascript 更新时间:2023-09-26
假设我有三个html页面:第1页、第2页和第3页。当我单击第1页上的"下一步"时,它会转到第2页,当我单击下一步时,它将转到第3页,当我们单击下一个时,它将会转到第1页。反之亦然,当我点击第3页上的PREVIOUS时,它会转到2;在2上,它变为1;1转到3。现在说我想添加第4页。不必进入HTML页面,将第3页上的NEXT链接更改为第4页,将第1页上的PREVIOUS链接更改为"第4页",我是否可以编写某种脚本(Javascript),这样当您单击"下一步"时,它会自动查看页码和增量,或者转到第1页,反之亦然,以单击"上一步"?如有任何帮助,我们将不胜感激!
对最小值应为1
、最大值应为X
的数字进行递增的一般公式为:
n = (n % X) + 1;
递减该数字的通用公式为:
n = ((n + X + 1) % X) + 1;
因此,如果n
是当前页码,而X
是3
(对于三页)。。。
示例:Live Copy
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
</head>
<body>
<input type="button" id="btnPrev" value="Previous">
<input type="button" id="btnNext" value="Next">
<script>
(function() {
"use strict";
var page = 1;
var pageCount = 3;
display("Starting page: " + page);
document.getElementById("btnPrev").onclick = function() {
page = ((page + pageCount + 1) % pageCount) + 1;
display("previous, page now " + page);
};
document.getElementById("btnNext").onclick = function() {
page = (page % pageCount) + 1;
display("next, page now " + page);
};
function display(msg) {
var p = document.createElement('p');
p.innerHTML = String(msg);
document.body.appendChild(p);
}
})();
</script>
</body>
</html>
您可以更好地使用页面名称数组来实现这一点,因为页面数量有限。
类似:-
var pageArray = ["page1.html", "page2.html","page3.html"];
function next(){
var hr = window.location.href.splitOnLast("/");
var page=hr[1].replace("/","");
var nxtIndex = pageArray.indexOf(page) + 1 ;
if(nxtIndex > pageArray.length) nxtIndex=0;
var redirect = hr[0]+"/"+pageArray[nxtIndex];
window.location.href=redirect;
}
function prev(){
var hr = window.location.href.splitOnLast("/");
var page=hr[1].replace("/","");
var nxtIndex = pageArray.indexOf(page) - 1 ;
if(nxtIndex < 0) nxtIndex=pageArray.length-1;
var redirect = hr[0]+"/"+pageArray[nxtIndex];
window.location.href=redirect;
}
通过使用此方法,您不必使用严格的编号,并且可以在列表中的任何位置自由添加新页面。
这种方法的另一个优点是,您可以进一步开发它,并在不同项目中的任何地方使用,包括完全由数据库驱动的菜单、网站和导航系统。
这种方法唯一的缺点是,它可以将当前导航中的所有页面名称一次性显示给任何了解JavaScript的人,尽管我们从未打算向最终用户隐藏我们的页面名称。
编辑我忘记在重定向代码中添加"/"。
相关文章:
- Javascript并不是显示在每一页上
- 返回上一页时,Javascript仍处于活动状态
- 如何在重定向到asp.net中单击按钮的下一页之前应用javascript警报
- 翻开一页'的javascript变量更改为提要
- 在新表单上使用JavaScript创建多个共享点项目,但将下一页加载延迟到全部创建
- 是否可以使用javascript从浏览器获取访问的上一页的URL
- 如何返回到上一页并用php或javascript刷新它
- JQuery/Javascript-当倒计时为零时重定向到上一页
- Javascript一页滚动脚本滚动到每个点击的链接一个接一个
- 使用javascript从另一页(第三页)刷新一页(第一页)
- 我在一页上有两个简单的javascript幻灯片,但第二个停止了第一个工作
- 一页JavaScript应用程序和静态资源的缓存
- JavaScript 获取上一页的 URL
- 等待Javascript网页抓取功能完成,然后再运行下一页
- 是否可以在页面中设置本地存储或会话变量 asp.net 并在另一页面上的javascript中读取它
- 如何在javascript中获取上一页URL
- 单击转到下一页 - JavaScript
- 授权用户's在一页javascript应用程序中的操作
- 上一页下一页javascript库上的一个类似Facebook的按钮
- 如何传递值一页javascript到另一页javascript