×

settimeout() settimeout timeout

settimeout()(html5 settimeout怎么用)

admin admin 发表于2022-09-02 19:00:57 浏览120 评论0

抢沙发发表评论

本文目录

html5 settimeout怎么用


html5 settimeout具体用法如下:

1、定义和用法

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

2、语法

setTimeout(code,millisec)

code    必需。要调用的函数后要执行的 JavaScript 代码串。    

millisec    必需。在执行代码前需等待的毫秒数。   

3、举例说明 

《html》

《head》

《script type=“text/javascript“》

function timedMsg()

{

var t=setTimeout(“alert(’5 seconds!’)“,5000)

}

《/script》

《/head》

《body》

《form》

《input type=“button“ value=“显示计时的消息框!“ onClick = “timedMsg()“》

《/form》

《p》点击上面的按钮。5 秒后会显示一个消息框。《/p》

《/body》

《/html》

4、运行结果:


setTimeout()的执行


我们常常会遇到一种情况,setTimeout(code,millisec)中code包含形参,
例如:我们需要在1秒后向用户提示的信息存储于变量msg中, var msg=’1shaspassed!’;此时不论是直接执行 setTimeout(alert(msg),1000);//alert(msg)会被立即执行还是 setTimeout(“alert(msg)”,1000);//系统报错msgisnotdefined(chrome)都不能达到预期的目的,因为定时器会努力地将code转化为一个function对象,第一个错例里定时器立即执行code希求返回一个function对象,结果扑了空;第二个虽然成功封装出function对象,但是定时器在msg的可见域外执行code,所以msg得不到正确的传递
推荐的解决办法是使用匿名函数回调 var msg=’1shaspassed!’;setTimeout(function(){alert(msg);},1000);第一个参数传递了一个会调用所需语句的function对象,这样就解决了code带参的问题。-timeout


关于setTimeout函数的问题


解决方法捕获按键的事件。
《script language=“javascript“》
function test(event) {
event = event || window.event;
if(event.keyCode==13) { alert(“你按了回车“) }
if(event.shiftKey==true) { alert(“你按了shift“) }
if(event.ctrlKey==true) { alert(“你按了ctrl“) }
if(event.altKey==true) { alert(“你按了alt“) }} 《/script》
每个按键都对应一个ASCII码 比如回车的ASCII码是13 每个按键的ASCII码你可以在百度上查。
setTimeout() 方法的返回值是一个唯一的数值,如果你想要终止 setTimeout() 方法的执行,那就必须使用 clearTimeout() 方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个 setTimeout() 方法 (因为你可能同时调用了好几个 setTimeout() 方法),这样 clearTimeout() 方法就需要一个参数,这个参数就是 setTimeout() 方法的返回值 (数值),用这个数值来唯一确定结束哪一个 setTimeout() 方法
你的setTimeout(function(){location.reload();},1000)会返回一个值。
比如你要用回车结束setTimeout js代码如下。
function test(event,id) {
event = event || window.event;
if(event.keyCode==13) {
clearTimeout(id);
}
}
这里的ID 就是你 setTimeout方法的返回值。了解了吗?
-settimeout

setTimeout的用法


setTimeout是javascript的内置函数,直接用就行。不用声明。input type=“text” 或者是别的,你都不是type,肯定不显示。《html》
《head》
《meta http-equiv=“Content-Type“ content=“text/html; charset=gb2312“ /》
《title》无标题文档《/title》
《script language=“javascript“》
window.onload = function(){

setTimeout(function(){
var time = new Date();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
document.getElementById(“myclock“).value = hour + “:“ + minute + “:“ + second + ““;
}, 1000);

}
《/script》
《/head》
《body》
《form name=“myform“》
《td width=“37%“》
当前时间:《input type=“text“ id=“myclock“ type=“text“ value=““ size=“10“》
《/td》
《/form》
《/body》
《/html》
-timeout

Javascript中setTimeout的用法


1、使用两个setTimeout 第个用意是1秒后调用onWidthChange函数,第二处是在函内部每当函数运行结束1秒后再次调用onWidthChange函数,这里实现了每过1秒都会调用onWidthChange函数。
2、$(document).ready(function(){});
文档载入完成执行,如果代码在文档底部执行,文档说明已加载过了。这里就可以不用
-settimeout

setTimeout()这个方法不执行


setTimeout()方法的第一个参数是一个闭包,它指定了要运行的函数。它的第二个参数是一个数值,表示的是以毫秒计算的运行延时。注意传递给setTimeout()的第一个参数也可以是表示执行代码的字符串,如果是字符串,那么setTimeout()方法会调用Function对象将这个字符串构造成函数执行。
setTimeout及setinterval都是异步执行的函数,就是它会在触发事件发生(延迟时间)之后去执行调用事件,这个过程并不会中断顺序执行的过程,而不是象c语言中的delay一样,延迟的是顺序执行的过程。而该过程大概是开启了另外的一个线程。
-timeout