JavaScript实现页面自动跳转的三种方法

作者:纸飞机时间:2026-10-26 22:59:56浏览:366

本文详细介绍JavaScript实现页面自动跳转的三种常见方式。第一种通过后端response.sendRedirect直接跳转;第二种利用setTimeout设定固定时间后跳转并显示提示链接;第三种结合DOM操作实现倒计时效果,动态更新剩余秒数直至跳转。适用于表单提交后的页面引导场景。

JavaScript实现页面自动跳转的三种方法

在学习视频过程中,接触到一种常见技术:用户点击“提交”或“确认”按钮后,页面会自动跳转到指定目标页面。


经网络搜索发现,实现该功能有多种方案。此处仅记录视频中讲解的三种具体实现方式。


方法一:服务器端直接跳转

第一种方法:使用response.sendRedirect("目标页面.jsp\.htm");实现服务器端的直接跳转。


方法二:前端固定时间跳转与提示

第二种方法:若需在前端添加提示信息,例如“x秒后自动跳转,若没有跳转,请点击此处”,可在MyEclipse中调用Snippets里的“Delay Go To URL”功能,系统会自动生成相应代码。


具体代码如下:

 
<script language="JavaScript1.2" type="text/javascript">
<!-- 
// Place this in the 'head' section of your page.
function delayURL(url, time) {
setTimeout("top.location.href='" + url + "'", time);
} 
//--> 
</script>
<!-- Place this in the 'body' section -->
<a href="javascript:" onClick="delayURL('myPage.html','2000')">My Delayed Link</a>

对上述代码进行适当修改,可实现更灵活的跳转逻辑。


修改后的代码如下:

 
<script language="JavaScript1.2" type="text/javascript">
function delayURL(url, time) {
setTimeout("top.location.href='" + url + "'", time);
} 
</script>
<span id="time" style="background: red">3</span>
秒钟之后自动跳转,如果不跳转,请点击下面链接
<a href="目标页面.jsp">目标页面</a>
<script type="text/javascript">
delayURL("http://www.hualai.net.cn", 3000);
</script>

随后将在3秒后直接跳转至“目标页面”。此方法为设定若干秒后跳转,在此过程中页面内容不会发生变化,例如设定3秒,随着时间推移,数字由3变为2再变为1直至完成跳转,下文将介绍第三种方法。


方法三:带倒计时效果的动态跳转

第三种方法:在第二种方法基础上进一步优化,实现倒计时数字递减效果。


修改后的代码如下:

 
<script language="JavaScript1.2" type="text/javascript">
function delayURL(url) {
var delay=document.getElementById("time").innerHTML;
//最后的innerHTML不能丢,否则delay为一个对象
if(delay>0){
delay--;
document.getElementById("time").innerHTML=delay;
}else{
window.top.location.href=url;
} 
setTimeout("delayURL('" + url + "')", 1000);
//此处1000毫秒即每一秒跳转一次
} 
</script>
<span id="time" style="background: red">3</span>
秒钟之后自动跳转,如果不跳转,请点击下面链接
<a href="目标页面.jsp">主题列表</a>
<script type="text/javascript">
delayURL("http://www.hualai.net.cn/news/knowledge/265.html");
</script>

该方法的效果是:用户在提交表单后进入当前页面,页面显示倒计时(从3递减至0),倒计时结束后自动跳转至目标页面。

作者最新文章