发布网友 发布时间:2022-04-23 11:52
共2个回答
懂视网 时间:2022-04-22 15:53
setInterval()是一个原生的JavaScript函数,可以以指定的时间间隔(以毫秒为单位)调用函数或计算表达式,本篇文章我们就来看一下setInterval方法的具体用法。
我们先来看一下setInterval方法的基本语法
setInterval(myFunction,myTimeLapse);
其中myFunction是要执行的函数的名称,myTimeLapse指在指定的时间间隔过后要执行的代码。
我们来看示例
例如,我们如果想每隔两秒输出一个“Hello!”,我们可以使用setInterval方法
代码如下
function helloFun():void { trace(“Hello!”); } setInterval(helloFun,2000);
该函数首先在经过2000毫秒(即2秒)后执行,然后在每2000毫秒后再次执行。
上面的代码,每两秒钟都会看到窗口中输出显示的Hello!,如果想要停止的话需要使用clearInterval()方法。
我们来看示例
代码如下
function helloFun():void { trace(“Hello!”); } var myInterval:uint = setInterval(helloFun,2000); clearInterval(myInterval);
这样就会停止输出。
热心网友 时间:2022-04-22 13:01
在播放 SWF 文件时,每隔一定时间就调用函数或对象的方法。您可以在一段时间内使用 setInterval() 重复执行任何函数。在使用 setInterval() 时注意下列提示:确定被调用的函数的范围。 确定设置了间隔 ID(setInterval() 的返回值)的范围。 在开始设置新的间隔之前清除以前设置的间隔。 下文将详细讨论这些提示。确定被调用的函数的范围。 要确定被调用函数的范围,请将可在其中执行 setInterval() 方法的对象(对象范围)作为第一个参数传递,将要执行的方法名称作为第二个参数传递(如第二个签名中所示)。这可以确保所需的方法从传入的对象引用的范围内执行。以这种方式执行方法时,它可以使用 this 关键字引用对象上的成员变量。确定设置了间隔标识符的范围。 要确定设置了间隔标识符 (intervalId) 的范围,您可以将它分配给您传递给 setInterval() 的对象范围上的一个成员变量。这样,被调用的函数就可以在 this.intervalId 找到间隔标识符。清除以前设置的间隔。 要在开始设置新的间隔之前清除以前设置的间隔,通常应先调用 clearInterval(),然后 调用 setInterval()。这可以确保您不会覆盖或以其它方式破坏 intervalId 变量,该变量是对当前运行的间隔的唯一引用。要在调用 setInterval() 之前调用 clearInterval(),启动脚本和被执行的脚本都必须能够访问 intervalId,如示例中所示。注意:当需要脚本停止循环时,请始终确保调用 clearInterval()。可用性:Flash Player 6;ActionScript 1.0参数 functionReference:Function - 对要被调用的函数的引用。interval:Number - 对传入的 functionReference 或 methodName 函数的调用所间隔的时间(以毫秒为单位)。如果 interval 小于 SWF 文件的帧频(例如,每秒 10 帧 [fps] 相当于 100 毫秒的间隔),则尽可能按照接近 interval 的时间间隔值调用间隔函数。在间隔期间执行大量耗费内存的长脚本将导致延迟。如果被调用的函数启动对可视元素的更改,您应使用 updateAfterEvent() 函数来确保屏幕刷新率足够高。如果 interval 大于 SWF 文件的帧频,则间隔函数仅在 interval 已到期并且 播放头已进入下一帧时才被调用;这就尽可能减轻了每次刷新屏幕时所产生的影响。 param:Object [可选] - 向发送给 functionReference 或 methodName 的函数传递的参数。多个参数应该用逗号隔开: param1 , param2 , ..., paramNobjectReference:Object - 一个对象,它包含由 methodName 指定的方法。 methodName:String - 一个方法,它存在于由 objectReference 指定的对象的范围中。返回 Number - 一个整数,它标识间隔(间隔 ID),您可以将其传递给 clearInterval() 以取消间隔。示例 范例 :以下示例以 20 毫秒的间隔跟踪一条消息,直到跟踪达到 10 次,然后清除该间隔。对象范围 this 作为第一个参数传入,方法名称 executeCallback 作为第二个参数传入。这可以确保 executeCallback() 是从调用的脚本的同一范围内执行的。 var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 10;
var ration:Number = 20;
function executeCallback():Void {
trace("executeCallback intervalId: " + intervalId + " count: " + count);
if(count >= maxCount) {
clearInterval(intervalId);
}
count++;
}
intervalId = setInterval(this, "executeCallback", ration);