定时器

设置定时器有以下两种方法

一、setInterval(code,millisec,lang)方法

(间歇调用)

参数描述
code必需,需要执行的代码串或函数
millisec必需,周期性执行 code 之间的时间间隔,以毫秒计
lang可选,脚本语言可以为 JScript , VBScript , JavaScript

[注]
后一个间歇调用可能会在前一个间歇调用结束之前启动

实例: 3分钟定时器

html部分

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		</head>
	<body>
		minutes:<input type="text" value="0">
		seconds:<input type="text" value="0">
	</body>
</html>

css部分

<style type="text/css">
			input{
			border:2px solid rgba(0,0,0,0.8);
			color:#333;
			font-size:16px;
			text-align: right;
		    }
		</style>
		

JS部分

<script type="text/javascript">
		var minutes=0,seconds=0;
		var minutesNode=document.getElementsByTagName('input')[0];
		var secondsNode=document.getElementsByTagName('input')[1];
		var timer=setInterval(function(){
			seconds++;
			if(seconds==60){
				minutes++;
				seconds=0;
			}
			secondsNode.value=seconds;
			minutesNode.value=minutes;
			if(minutes==3){
				clearInterval(timer);
			}
		},100)
	</script>

实例中用到了 clearInterval( ) 来清除定时器

二、 setTimeout(code,millisec,lang)方法

(超时调用)

参数 code 与 lang 所描述的内容与 setInterval( )方法相同,
而在 setTimeout( ) 中参数 millisec 表示的应为执行 code 前所需等待的毫秒数

  1. 如果第一个参数为 字符串 ,可能会导致性能损失,因此不建议以字符串作为第一个参数
  2. JS 是一个单线程的解释器,因此一段时间内只能执行一段代码,为控制要执行的代码,就有一个 JS 任务队列,setTimeout( )的第二个参数告诉 JS 再过多长时间把当前任务添加到队列的顺序中,
    若队列为,添加的代码立即执行;若队列不是空的,那么他就得等到前面的代码执行完了之后再执行
  3. 超时调用的代码都是在全局作用域中执行的,因此函数的 this 对象在非严格模式下指向 window 对象,严格模式下是
    undefined.

实例

html部分

<!DOCTYPE html>
<html>
     <head>
            <meta charset="utf-8">
            <title></title>
      </head>
      <body>
             <p>点击按钮,在等待 3 秒后弹出 "Hello"。</p>
             <button onclick="myFunction()">点我</button>
      </body>
</html>

JS部分

<script>
function myFunction()
{
    setTimeout(function(){alert("Hello")},3000);
}
</script>

效果
在这里插入图片描述由此可知,setTimeout( ) 方法起到的作用是延迟执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值