如何使后退按钮在同一个html页面
How to make a back button in a same html page
我在一个html页面中有如下代码的页面。
<html>
<head>
<script>
function show(shown, hidden) {
document.getElementById(shown).style.display='block';
document.getElementById(hidden).style.display='none';
return false;
}
</script>
</head>
<body>
<div id="Page1">
<p>Hi hello how are you This is page 1 </p>
</br>
<a href="#" onclick="return show('Page2','Page1');">
<button>Next Page</button>
</a>
</div>
<div id="Page2" style="display:none">
<p> I'm fine thanks Thıs is page 2 </p>
</br>
<a href="#" onclick="return show('Page3','Page2');">
<button>Next Page</button>
</a>
</div>
<div id="Page3" style="display:none">
<p>What is your name Thıs is page 3 </p>
</br>
<button>Submit</button>
</div>
</body>
</html>
我想做一个后退按钮,但是有一个小问题。我用我的web服务结果将当前页面更改为另一个页面,例如,如果我的web服务返回"3",我的当前页面将隐藏,第三个页面将打开。如何制作后退按钮?我试着模仿;但它不起作用,因为它们都在同一个html文件
<button onclick="goBack()">Go Back</button>
<script>
function goBack() {
window.history.back();
}
</script>
这不起作用,因为您并没有真正更改页面。你需要在一个变量中保持对前一页/当前页的引用,然后在开关上执行与更改页面相反的操作。
类似:
var previous;
var current;
function show(shown, hidden) {
previous = hidden;
current= shown
document.getElementById(shown).style.display='block';
document.getElementById(hidden).style.display='none';
return false;
}
function goBack() {
show(previous, current)
}
注意,这不会处理浏览器的后退按钮。这是有可能的,但它会变得更加复杂,因为你需要利用HTML5历史API或一些类似的设置,可以为你管理url历史。
可能这就是你所期望的行为。
<html>
<head>
<script>
var oldPages = [],
shownPage;
function toggleShow(shown, hidden) {
if (shown && hidden) {
oldPages.push(hidden);
shownPage = shown;
} else {
hidden = shownPage;
shownPage = shown = oldPages[oldPages.length - 1];
oldPages.pop();
}
if (!shown) {
return;
}
document.getElementById(shown).style.display = 'block';
document.getElementById(hidden).style.display = 'none';
return false;
}
</script>
</head>
<body>
<div id="Page1">
<p>Hi hello how are you This is page 1</p>
</br>
<a href="#" onclick="return toggleShow('Page2','Page1');">
<button>Next Page</button>
</a>
</div>
<div id="Page2" style="display:none">
<p>I'm fine thanks Thıs is page 2</p>
</br>
<a href="#" onclick="return toggleShow('Page3','Page2');">
<button>Next Page</button>
</a>
</div>
<div id="Page3" style="display:none">
<p>What is your name Thıs is page 3</p>
</br>
<button>Submit</button>
</div>
<button onclick="toggleShow()">back!</button>
</body>
</html>
相关文章:
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 单击和dblclick在同一个html上传递不同的parentNodes.为什么?
- HTML/CSS/JS切换不同的谷歌日历是同一个框架
- 如何将脚本的不同功能放在同一个html页面中
- 我怎么能在同一个HTML页面上多次在不同的段落中添加相同的字符串呢
- 在同一个html页面中显示servlet响应而不隐藏表单
- 在同一个html页面上显示多个人力车图
- 将同一个jquery文件中的几个js函数以我选择的不同间隔加载到几个html页面中
- 为什么在我的HTML文件中创建新表而不是刷新同一个表
- Javascript和jQuery在同一个HTML文件上
- 可以't在HTML修改后恢复所选内容,即使它'是同一个HTML
- 如何从同一个html页面上的多个按钮打开一个对话框
- 如何将多个事件处理程序添加到同一个html元素中,并根据事件执行不同的方法
- 在同一个html中使用javascript和php
- 当多个
- 您可以在同一个HTML表单上有多个Plupload实例吗?
- 如何使后退按钮在同一个html页面
- 一个JS文件中的3个JS代码块,如果在同一个html页面中放置3次,永远不要重复一个代码块
- 多个处理程序附加到同一个HTML元素
- 在angularjs中如何通过不同的链接在同一个html页面上附加两个json文件