setTimeout

setTimeout语法的例子
用setTimeout执行功能
Repeated setTimeout
设置条件停止setTimeout
计数器
清除定时器
设置的标志

1。setTimeout()

1.1 setTimeout()语法例子

1.2执行setTimeout()函数

1.3 setTimeout()语法例子

1.4设置条件使setTimeout()停止

计数器的1.5分和秒

2。ClearTimeout()

三.设置的标志
10.1 setTimeout()

setTimeout()是一种属于窗口,但我们都忽略了窗口的顶层对象的名称,它是用来设置时间,当时间到达时,指定的方法会被执行。请看下面的例子,这是没有实际使用的一个例子,为了证明setTimeout语法(1)。setTimeout()语法例子

等待三秒实施前69练习(警戒)

在第三章中,当谈到警告对话框时,它通常用按钮调用。在这个练习中,您将看到页面打开后3秒,自动显示一个警告对话框。

1。请使用浏览器中打开timeout1.htm演示盘。桉树有以下内容:


示范网页
请等待三秒!


setTimeout(警报(对不起,让你等的)




2。注意打开页面三秒后,会有一个警告对话框。

setTimeout()是设置一个指定的等待时间(单位为1 / 1000秒,毫秒)。当时间到来时,浏览器将执行指定的方法或函数。


这是一个设置3秒(3000毫秒)的例子,浏览器执行警报()方法2。使用setTimeout()执行功能

setTimeout()通常用于函数,以下是以前的做法,一个复杂的例子。

在70状态栏中练习自动消失的文本。

在实践中- 20,你看到了如何在状态栏中显示按钮,显示文本,然后使用按钮删除文本,在这个练习中,你看到了如何在状态栏中显示文本按钮,并且这个文本会在3秒内自动消失。

1。请使用浏览器中打开timeout2.htm演示盘。桉树有以下内容:


示范网页


clearword()函数
{窗口状态}



<输入类型按钮在状态列中显示文本
onclick=窗口。状态=你好('clearword setTimeout()',3000)>



请点击按钮2,你应该看到状态栏你好这个词,看三秒后,这个词就会消失。

1。第一集的函数名为clearword(),它的定义如下:

窗口状态

这是用来消除状态栏文本(见指导实践- 20),和浏览器执行clearword(),和状态栏文本将被淘汰。

2。这个按钮被设置为启动以下两个任务,使用,分离,浏览器将按顺序执行这两个任务:

onclick=窗口。状态=你好('clearword setTimeout()',3000)。

三.这一次的setTimeout()有以下设置:


这是一套3秒(3000毫秒)和浏览器将执行函数()()clearword。

在第二章中,您将看到在打开父窗口时如何自动打开子窗口。如果查看器不关闭子窗口,子窗口将一路打开。请查看上面的练习,设计一个打开窗口的网页,打开后两秒钟窗口会自动关闭。3。不断重复的setTimeout()

setTimeout(默认)只执行一次,但我们可以用一个周期,一个(setTimeout)开始自己的时间,将弥补二setTimeout(二),并启动第三,这样循环下去,它将继续执行(setTimeout)。

练习- 71自动每秒1功能

在这个练习中,您看到了如何使用setTimeout()以1每秒增加文本框的数量。当然,还可以设置其他递增速度,比如每五秒添加5个,或者每五秒添加五个。

1。请使用浏览器中打开timeout3.htm演示盘。桉树有以下内容:



x = 0
countsecond()函数
{ x=1
文件。FM。displaybox价值= x。
setTimeout(countsecond()
}








countsecond()




2以后。页面已打开,请注意文本框中的数值转换。

三.请将桉树复制到硬盘上,并更改某些设置,如x=5,或将等待时间更改为5000,以查看响应是什么。

1、网页有两个脚本。第一是设定countsecond()函数。第二个是在完全加载Web页面后开始函数。

2。注意以下设置:

countsecond()函数
{ x=1
document.fm.displaybox.value = x
setTimeout(countsecond()
}

当countsecond()开始,它将开始setTimeout()。这个方法开始countsecond后一秒,然后开始后countsecond setTimeout()(),这样的结果是countsecond()执行每秒。

3、在Javascript中,我们使用这个方法使一些事情继续执行,其中一个是显示旋转时间,另一个是设置运行文本,后面的章节将有示例。

用上述方法设置时间,虽然setTimeout()设置为1秒,浏览器必须执行两个功能,所以一个周期的时间略超过一秒,例如,有可能在一分钟内只有58次。4。设置条件使setTimeout()停止

(setTimeout)后开始循环,不断重复,在实践中,你看到的文本框中的数字继续打,但我们要数意味着跳数值停止,一个途径是与如果设置的条件…否则,如果真的将继续执行setTimeout(假),如果他们停止。

例如,为了阻止计数器跳到前一个练习的20,可以修改以下函数。

countsecond()函数
{如果(x<20)
{ x=1
document.displaysec.displaybox.value = x
setTimeout(countsecond()
}
} 5。得分和计数器

在以往的实践中,相信你已经学会如何使用setTimeout(),现在看更多的评论的例子。

72计时的练习计数器

在这个练习中,你需要设置两个文本框,一个显示分钟,另一个显示秒。当Web页面打开时,它们将自动在这两个文本框中进行计数。

1。请使用浏览器中打开timeout4.htm演示盘。桉树有以下内容:



x = 0
y=1

countmin()函数
{ y=y + 1
文件。displaymin。displaybox价值= Y。
setTimeout(countmin()
}

countsec()函数
{ x=1
z = 60
文件。displaysec。displaybox。值= Z
setTimeout(countsec()
}




您的网页的连接时间是:




分支




秒。


CountMin()
countsec()



2。请注意两个文本框中的数字转换。

1。这个页面的功能有两个,一采一秒。在这种情况下,我只是证明setTimeout()操作,因为计时器有其他更精简的文字。(注:此方法的时间是不准确的。)

2。注意功能:第二个功能

countsec()函数
{ x=1
z = 60
文件。displaysec。displaybox。值= Z
setTimeout(countsec()

}

这个地方的符号是模数(剩余数),例如,z = x 60表示高级行x 60,剩余的数字是z变量,例如,82秒,模数是22,所以文本框将显示22而不是82。

三.如果您想在0前面添加单元数,例如,01, 02、03等等,可以使用以下方法:

countsec()函数
{ x=1
z = 60
如果(z<10){ =0 + }
文件。displaysec。displaybox。值= Z
setTimeout(countsec()
10.2清除定时器()}

在上一节中,您看到了如何使用setTimeout()使浏览器执行一个功能不断。当一个setTimeout()开始循环工作,我们想让它停下来,我们可以利用清除定时器()方法。

ClearTimout()的语法如下:清除定时器(timeoutid)

使用清除定时器(),我们设置setTimeout(),settimout()给它一个名字,这个名字是timeoutid,我们停了下来,就是用这timeoutid停止,它是一个自定义的名称,但很多程序员把timeoutid名称。

在下面的例子中,我设置了两timeoutid,命名为meter1和平方米分别如下:

timeoutid
在这里
meter1 = setTimeout(COUNT1()
平方米= setTimeout(是()

使用这些meter1和平方米timeoutid名字,当设置清除定时器(),你可以指定setTimeout()是有效的,不影响另一个setTimeout()操作。

实践73停止setTimeout()

这个练习是仿照练习71,但两个变化:(1)有两setTimeout(),(2)两个按钮,可停止两settimout。

1。请使用浏览器中打开clear.htm演示盘。桉树有以下内容:



x = 0
Y = 0

COUNT1()函数
{ x=1
文件显示,1。值= X
meter1 = setTimeout(COUNT1()
}

功能是()
{ y=y + 1
文件显示2. Box2。值= Y
平方米= setTimeout(是()
}


















COUNT1()
是()




2。注意网页中的两个文本框和内部的变化数量。每个文本框旁边有两个按钮。请试试这两个按钮的响应。

3、请反复按下按钮几次。注意,值的跳转是加速的。原因是每次你一次启动函数时,每一个函数都会击败这个值,例如,启动相同的函数四次,它会跳四次一秒(见下一节)10.3个设置标志。

前面的练习说我们用一个按钮来启动一个函数,每次点击都会启动这个函数一次,请看下面的例子。

练习重复setTimeout()的影响74

这个练习实际上是为了简化练习——73。只有一个计时器。我想演示的是,每次我按{继续计数}一次,我将开始计数()函数一次。

1。请使用浏览器中打开flag1.htm演示盘。桉树有以下内容:



x = 0
函数计数()
{ x=1
文档。显示。
timeoutid = setTimeout(计数()
}








计数()



2、打开页面后,你应该看到文本框中跳动的数字。请按四次{继续到时间},并注意到这将加速数字跳动。原因是函数已经打开不止一个,每个函数都会改变数字。

三.在四次{继续}按钮后,请按{定时}的按钮,你会发现五次停止数字跳动。

当我们编写程序时,我们应该小心用户的特殊行为,例如,当用户点击两个时间按钮时,计时器就出故障了。我们有办法让按钮一次失败吗它没有重复的效果。

我举这个例子(有一些例子),即一个设置标志程序(设置标志集)的标志的概念是一个标记,一般来说,它可以是0或1(也可以通过或关闭,或者任意两个可选的名称或数字),也可以是2, 3, 4个或更多个数字,在本例中有以下设置:

1。当标志= 0时打开程序。

2。当执行计数器()时,标志将被更改为1。

三.在对按钮的响应中,首先检查标志是0或1,如果0会有效果,如果1不响应。

4。使用这个标志方式,计数()这个函数打开,{保持计时}按钮不工作。

这个地方的旗帜是个变量。它可以任意命名。我们用标志调用这个变量的原因是这个变量有助于标志。它将起到一个作用,把国旗(旗帜是在),并放下旗(国旗关闭)将有另一个效果。

练习- 75只能打开一次功能。

这种做法是一种做法,会添加一个标志,使每个只能在其中有一个计数(函数)。

1。请使用浏览器中打开flag2.htm演示盘。桉树有以下内容:



x = 0
标志= 0
函数计数()
{ x=1
文档。显示。
timeoutid = setTimeout(计数()
标志= 1
}

函数重新启动()
{如果(标志= 0)
{计数()}
}





<输入类型=按钮值停止计时
onclick=清除定时器(timeoutid);旗= 0 >




计数()



<输入类型=按钮值显示标志
onclick=警报(旗现在是' +标志)。



2。在Web页面中,您应该看到三个按钮和文本框中的数字个数。

三.请按{标志}按钮,您应该看到标志框为1的单词。

4。请按{时间}这个按钮,数字停止跳动,请按{显示标志}按钮,并查看标志为0的框中的单词。

5、当你多次按下按钮时,你应该看到这个号码不会加速。如果按下{标志}的按钮,您将看到标志框更改为标志。

1、这个页面的第四行有这样一句话:标志= 0,它设置了标志变量,并将初始值设置为0,然后可以将初始值设置为1,然后将0和1关联起来。

2。这个函数的最后一个句子是标志= 1,所以当计数()开始时,标志将变成1。

3。{继续计时}按钮用于启动重新启动(),此函数具有以下设置:

函数重新启动()
{如果(标志= 0)
{计数()}
}

if语句检查标志是否等于0,如果0开始计数(),如果1(即,不是0),则没有响应。如果使用此方法,如果计数()已在执行中,{继续到时间}此按钮将不工作。

标志= 1集,实际设置为1或2或3个值是相同的,如果不是0,那么相对于标志的两个,似乎是0 和1

4。{停止时间}按钮有以下设置:

onclick=清除定时器(timeoutid);旗= 0

这是当setTimeout()操作停止,国旗是回到0,这使得重启()函数启动计数()。