JavaScript实现5秒倒计时自动跳转与按钮交互
作者:小括号时间:2026-10-23 08:37:47浏览:422
本文提供三种JavaScript实现5秒倒计时并跳转的完整代码方案。第一种使用原生JS通过setInterval更新DOM元素数值并在归零时执行window.location.href跳转;第二种基于jQuery利用setTimeout实现延迟跳转及时间显示;第三种演示如何在按钮点击后禁用控件并循环调用settime函数,常用于获取验证码场景。代码包含HTML结构与JS逻辑,可直接参考使用。
原生JavaScript实现5秒倒计时跳转
本文分享了一段使用JavaScript实现5秒倒计时并在结束后自动跳转页面的具体代码,供读者参考。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>倒计时五秒</title>
<script>
//使用匿名函数方法
function countDown(){
var time = document.getElementById("Time");
//alert(time.innerHTML);
//获取到id为time标签中的内容,现进行判断
if(time.innerHTML == 0){
//等于0时清除计时
window.location.href="https://www.baidu.com" rel="external nofollow" ;
}else{
time.innerHTML = time.innerHTML-1;
}
}
//1000毫秒调用一次
window.setInterval("countDown()",1000);
</script>
<style>
#Time,#p{
font-size: 100px;
text-align: center;
}
</style>
</head>
<body>
<p id="Time">5</p>
</body>
</html>
此外,还补充介绍了另外两种相关的实现方式。
以下是使用jQuery库实现的5秒倒计时方案。
基于jQuery的倒计时与页面跳转
<script src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
var i=5;
$(function(){
setTimeout(function(){
window.location.href='${ctx}/';
},5000);//5秒后返回首页
after();
});
//自动刷新页面上的时间
function after(){
$("#time").empty().append(i);
i=i-1;
setTimeout(function(){
after();
},1000);
}
</script>
最后一种场景是点击按钮后触发5秒倒计时,通常用于验证码获取等交互。
按钮点击触发的倒计时交互示例
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" />
<script type="text/javascript">
var countdown=5;
function settime(val) {
if(countdown != 0){
val.setAttribute("disabled", true);
val.value="重新发送(" + countdown + ")";
countdown--;
}else {
val.removeAttribute("disabled");
val.value="免费获取验证码";
countdown = 5;
return;//避免无限循环
}
setTimeout(function() {
settime(val)
},1000)
}
</script>
</body>
</html>
以上内容为本文的全部分享,希望对读者学习有所帮助,也欢迎大家继续支持本站。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
