第36天:倒计时:发动短信验证、跳转页面、关闭广告

简介: 一、setTimeoutsetTimeout("函数",时间)setInterval(fn,5000);//每隔5秒执行一次fnsetTimeout(fn,5000);//5秒之后执行一次fn二、跳转页面window.

一、setTimeout

setTimeout("函数",时间)
setInterval(fn,5000);//每隔5秒执行一次fn
setTimeout(fn,5000);//5秒之后执行一次fn

二、跳转页面
window.location.href="http://www.baidu.com";
函数自己调用自己成为“递归调用”

案例:

1、发送短信验证倒计时

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         .box{
 8             margin: 100px auto;
 9             text-align: center;
10         }
11         #btn{
12 
13         }
14     </style>
15     <script>
16         window.onload=function(){
17             var btn=document.getElementById("btn");
18             var count=60;
19             var timer=null;//定时器名称
20             btn.onclick=function(){
21                 clearInterval(timer);
22                 this.disabled="true";//this指向btn
23                 var that=this;//使用that存储当前this
24                 timer=setInterval(sendTextMessage,1000);//开启定时器
25                 function sendTextMessage(){
26                     count--;
27                     if(count>=0){
28                         that.innerHTML="还剩余"+count+"";
29                     }else{
30                         that.innerHTML="重新发送短信";
31                         that.disabled=false;
32                         clearInterval(timer);
33                         count=60;
34                     }
35 
36                 }
37             }
38         }
39     </script>
40 </head>
41 <body>
42     <div class="box">
43         <input type="text">
44         <button id="btn">点击发送短信</button>
45     </div>
46 </body>
47 </html>

运行效果:

2、5秒后跳转页面

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>跳转页面</title>
 6     <style>
 7         #demo{
 8             margin: 100px auto;
 9             color: #000;
10             font-size: 30px;
11             text-align: center;
12         }
13         #demo a{
14             text-decoration: none;
15             color: red;
16         }
17     </style>
18 </head>
19 <body>
20     <div id="demo"></div>
21 </body>
22 <script>
23     var demo=document.getElementById("demo");
24     var count=5;
25     var speed=1000;
26     setTimeout(goIndexPage,speed);//1秒之后 执行goIndexPage函数
27     function goIndexPage(){
28         count--;
29         demo.innerHTML="<a href='http://www.baidu.com'>本页面将在"+count+"秒之后跳转页面</a>";
30         if(count<1){
31             window.location.href="http://www.baidu.com";//跳转页面
32 
33         }else{
34             setTimeout(goIndexPage,speed);//递归调用 setTimeout只执行一次
35         }
36     }
37 </script>
38 </html>

运行效果:

3、5秒后关闭广告

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>5s之后关闭广告</title>
 6     <style>
 7         *{
 8             margin: 0;
 9             padding: 0;
10         }
11         #left{
12             float: left;
13         }
14         .box{
15             float: left;
16             margin: 100px;
17         }
18         #right{
19             float: left;
20         }
21     </style>
22 </head>
23 <body>
24     <div id="left"><img src="1.gif" alt=""></div>
25     <div class="box">
26         <p>山上有座庙,庙里有个和尚</p>
27         <p>山上有座庙,庙里有个和尚</p>
28         <p>山上有座庙,庙里有个和尚</p>
29         <p>山上有座庙,庙里有个和尚</p>
30         <p>山上有座庙,庙里有个和尚</p>
31     </div>
32 
33     <div id="right"><img src="2.gif" alt=""></div>
34     
35 </body>
36 <script>
37     function $(id){return document.getElementById(id);}
38     function hide(id){
39         $(id).style.display="none";
40     }
41     function show(id){
42         $(id).style.display="block";
43     }
44     setTimeout(closeAd,5000);
45     function closeAd(){
46         hide("right");
47         hide("left");
48     }
49 </script>
50 </html>

运行效果:

 

相关文章
|
编解码 自动驾驶 测试技术
【论文速递】PETR: 用于多视图 3D 对象检测的位置嵌入变换
【论文速递】PETR: 用于多视图 3D 对象检测的位置嵌入变换
【最佳实践】宜搭的报表分析功能
“单据表单”和”流程表单”中提交的数据,可以在”报表页面”中作为数据源,进行进一步的分析。当一个表单中存在明细时,为了支持分析,宜搭进行了一些额外的处理。下面以一个具体场景(进货单)进行具体介绍
【最佳实践】宜搭的报表分析功能
|
10月前
|
前端开发 Python
Matplotlib 轴标签和标题
Matplotlib 轴标签和标题
250 6
|
10月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
260 4
|
C#
WPF技术之Image控件
Image控件可以用于加载和显示各种图像格式,包括位图(Bitmap)、矢量图(Vector)、矢量文档(XPS)等。它可以加载本地文件系统中的图像,或者从网络上下载图像。
658 0
|
机器学习/深度学习 人工智能 安全
构建未来:AI驱动的自适应网络安全防御系统
【5月更文挑战第8天】 随着网络攻击的不断演变,传统的安全措施已不足以应对日益复杂的威胁。本文提出了一种基于人工智能(AI)的自适应网络安全防御系统,旨在通过实时分析网络流量和行为模式来自动调整安全策略。系统利用深度学习算法识别潜在威胁,并通过强化学习优化防御机制。初步实验表明,该系统能够有效提高检测率,减少误报,并在未知攻击面前展现出较强的适应性。
269 1
|
机器学习/深度学习 人工智能 算法
AI战略丨AI原生时代,应用创新蓄势待发
通过热点AI应用创新项目的观察,我们可以看到新技术的突破方向,也能发现基于生成式AI迸发出的全新商业前景落地的可能性。
AI战略丨AI原生时代,应用创新蓄势待发
|
存储 编解码 弹性计算
云存储-对象存储的介绍和使用场景 | 学习笔记
快速学习云存储-对象存储的介绍和使用场景
云存储-对象存储的介绍和使用场景 | 学习笔记
|
存储 JSON 测试技术
【COCO数据集】Annotations标注解析
【COCO数据集】Annotations标注解析
2227 0