使用Js定时器来定时跳转

简介: 记录:想实现在5秒后跳转到指定页面,使用到JS定时器和Location对象。

🍎道阻且长,行则将至。🍓


Js小记🍀

记录:想实现在5秒后跳转到指定页面,使用到JS定时器Location对象。

JS定时器🌱

有两种定时器: setTimeoutsetInterval,一个是在指定时间结束后执行一次,另一个是根据指定时间循环。

Location对象🍑

Location 对象是 JavaScript 对地址栏封装的对象。可以通过操作该对象,跳转到任意页面。使用 window.location获取,window. 可以省略。例如:
location.href = "https://www.csdn.net";

准备了一个简单的页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
</script>
</body>
</html>
  • 🌴1 >>>>> 20%

想实现在5秒后跳转到指定页面,于是在<script>写:

    document.write("5秒跳转到首页...");
    setTimeout(function (){
        location.href = "https://https://www.csdn.net"
    },5000);

==效果是达成了!==


  • 🌴2 >> 出现问题 >>> 40%

但是突然想到,怎么让这个过程变为一个动态的!过一秒钟提示一下。
于是在<script>继续写,使用for循环加定时器

    document.write("5秒跳转到首页...");
    for (let i = 5; i >0; i--) {
         setTimeout(function () {
            document.write(i + "秒后跳转到首页...");
        }, 1000);
    }

结果==问题来了==,一秒钟就执行完了,内容倒是全出来了。
image.png

==原因==:定时器是多线程执行的,就是说这个for循环只不过是开启了多个定时器线程。


  • 🌴3 >> 方案B解决A >>>>> 60%

为了做出这个效果,于是想用循环定时器来实现:

    var i=5;
    setInterval(function () {
        document.close()
        document.write(i + "秒后跳转到首页...");
        i--
        if(i==0) {
            location.href = "https://www.csdn.net"
        }
    }, 1000);

使用document.close()可以清除内容,于是==实现了==:
30197284c1bb4aca9a5b09dcf41121bd.gif

但是不解决使用定时器的问题,就是觉得不完美!这怎么受得了!


  • 🌴4 >> 解决A >>>>>>> 80%

既然for循环不能这么用,于是我把for循环去掉了,把定时器写进了方法里,这不就可以顺序执行了。

    var ti =5;
    function a() {
        document.close()
        document.write(ti + "秒后跳转到首页...");
        ti--
        if(ti==0) {
            location.href = "https://www.csdn.net"
        }
        setTimeout(a, 1000);
    }
    //执行
    setTimeout(a, 1000);

也==实现了如下效果==:
30197284c1bb4aca9a5b09dcf41121bd.gif


🌻END🌼


☕物有本末,事有终始,知所先后。🍭

相关文章
|
4月前
|
JavaScript
JS定时器
JS定时器
24 0
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
JS实现定时器
JS实现定时器
44 0
|
4月前
|
前端开发 JavaScript
js + ajax实现商品列表页到详情页的跳转
js + ajax实现商品列表页到详情页的跳转
|
5月前
|
JavaScript 前端开发 Java
JavaScript对象及定时器案例
JavaScript对象及定时器案例
44 0
|
5月前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
53 0
|
17天前
|
JavaScript 前端开发
JavaScript如何设置定时器,怎么清除定时器
JavaScript如何设置定时器,怎么清除定时器
20 3
|
25天前
|
JavaScript 前端开发
JavaScript 定时器
JavaScript 定时器
|
2月前
|
JavaScript 前端开发
JS定时器与延时器
JS定时器与延时器
|
2月前
|
JavaScript 前端开发 UED
JS自动跳转手机移动网页
JS自动跳转手机移动网页
457 0
|
3月前
|
前端开发 JavaScript API
网页开发者必看!5种JS跳转页面技巧,提升用户交互体验
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。