setInterval 函数是Action Script 的全局函数,在Action Script 3.0 中它 被封装在 flash.util 包中,详见http://livedocs.macromedia.com/labs/1/flex/langref/migration.html, 它需要flash player 6 或以上版本的支持。
setInterval 有两种用法:
1. setInterval(functionName:Function, interval:Number [, param1:Object, param2, ..., paramN]) : Number
这种使用方法是让flash player 每隔interval (ms)时间调用functionName()这个函数,不关心这个方法是哪个对象的,后面跟传入的参数;一般来说这些参数值用来为函数提供数据,而不是从函数里取出数据。
2. setInterval(obj:Object, methodName:Function, interval:Number [, param1:Object, param2, ..., paramN]) : Number
这种方法调用obj 对象中的成员方法methodName,在flex 应用中必须使用这样的方法来实现定时调用的效果。这样的方式就能够,在methodName中就能够访问当前flex application的 成员变量或函数了。举个例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application initialize="initFunc()" xmlns:mx="http://www.macromedia.com/2003/mxml">
<mx:Script>
<![CDATA[
var count:Number;
function initFunc()
{
count = 60;
setInterval(this, "countDown", 1000);
}
function countDown()
{
showLabel.text = count.toString() + "second to go";
count -= 1;
if(count == 0)
timeUp();
}
function timeUp()
{
alert("Time is up");
}
]]>
</mx:Script>
<mx:Label id="showLabel"/>
</mx:Application>
如果这里使用第一种方法的话 就会出现 countDown 函数不能访问到count 和 showLabel 这两个变量,功能就没法实现,虽然可以通过传参数的方法来传入count 和 label:
setInterval(countDown, 1000, count:Number, showLabel:mx.controls.Label);
但是这样话 count-=1 并不起作用,所以根本不会count down。这个搞了我好久,开始没有看到第二种用法,大家要留意。
好看一点的例子:
function init()
{
var spanSec:Number=60*60 //an hour to go
var nf:mx.formatter.NumberFormatter = new mx.formatters.NumberFormatter();
nf.precision = 0;
nf.rounding = "down";
}
function timeCountDown()
{
var hr:Number =parseInt(nf.format(spanSec/3600));
var min:Number = parseInt(nf.format((spanSec - hr*3600)/60));
var sec:Number = parseInt(nf.format(spanSec - 60*min - hr*3600));
spanSec = spanSec - 1;
countDownLabel.text="Time left: "+hr+":"+min+":"+sec;
if(spanSec == 0)
{
submit();
}
}
function submit()
{
//do whatever you want
}
分享到:
相关推荐
定时器通常是通过编程语言中的时间函数来实现,例如在Python中可以使用`time.sleep()`或`datetime`模块,JavaScript中则有`setTimeout()`和`setInterval()`等。这些函数能够设定一个特定的时间间隔,到达该间隔后...
在这个“C#制作的定时器”项目中,我们有两个关键的类:一个用于处理时间事件,另一个用于定义时间间隔。下面将详细探讨这两个类以及C#中的定时器机制。 首先,让我们来理解一下C#中的定时器类型。C#中有两种主要的...
接下来,我们需要一个定时器函数,通常使用`setInterval()`函数来实现。这个函数接收两个参数:一个要执行的函数和执行间隔(以毫秒为单位)。例如,如果我们希望每秒钟更新一次计时器,可以设置`setInterval(update...
在本文中,我们将深入探讨如何使用Microsoft Visual C++(简称VC++)开发一个简单的定时器程序,该程序能够在对话框中实时显示倒计时和日期时间。首先,我们需要理解VC++的基本环境,然后逐步构建这个功能。 VC++是...
学习和理解JavaScript定时器是非常关键的,它们在网页动态效果、动画制作、轮询服务等方面都有广泛的应用。通过熟练掌握`setTimeout`和`setInterval`,开发者可以为用户创建更丰富的交互体验。 这两个简单的范例是...
3. **清除定时器**:为了防止内存泄漏等问题,当不再需要继续执行定时任务时,应该及时使用`clearInterval`函数来清除对应的定时器。例如: ```javascript var timerId = setInterval(function() {}, 1000); // 在...
制作关键帧动画: 通过定时器,定时改变div中的img的left属性值,img是定位在div中的,每次改变的值为120px,建议100毫秒改变一次,时间间隔还可以更长一点,通过调整设置最佳的时间间隔。
在微信小程序开发中,经常会遇到使用定时器的问题。本文主要探讨了`setTimeOut`定时器在微信小程序中的应用和一些常见问题。`setTimeOut`是JavaScript中的一个基础功能,用于在指定的延迟时间后执行某段代码,这对于...
在这个案例中,我们利用JavaScript定时器来制作一个弹窗小广告,使得广告在特定时间间隔后自动显示。 首先,我们需要了解JavaScript中的两个定时器函数:`setTimeout()` 和 `setInterval()`。`setTimeout()` 用于在...
这对于实现定时器、动画等效果非常关键。 #### 基本语法 `setInterval`的基本语法如下: ```javascript var intervalID = setInterval(function, delay, [param1, param2, ...]); ``` - **function**:一个将被...
在制作定时器网站时,`<button>`元素特别关键,因为它将作为启动和停止定时器的触发器。 接着,JavaScript(JS)是赋予网页动态功能的脚本语言,这里主要负责定时器的逻辑处理。在JavaScript中,你可以使用`...
JavaScript的`setInterval`函数通常用于创建定时器,每间隔一定时间执行一次任务。 5. **相关文件**: - `jquery.flipcountdown.css`: 存放插件的样式,定义了数字翻转的效果、颜色、大小等视觉样式。 - `....
3. **自动切换**:为了实现幻灯片的自动切换效果,我们需要设置一个定时器(如`setInterval`函数),在指定的时间间隔后改变当前显示的幻灯片。这个时间间隔可以根据需求进行调整,以实现平滑的过渡效果。 4. **...
3. **定时器制作时钟**:定时更新当前时间并显示在页面上,例子中使用了`setInterval`每秒更新一次时间。 4. **定时器制作倒计时**:计算并显示到特定日期的剩余时间,这在活动倒计时或者考试倒计时等场景中很有用。...
JavaScript定时器的用途广泛,例如,可以用于制作页面动画、定时检查事件、控制元素出现和隐藏的时间等。在使用定时器时,需要注意定时器的管理,避免过多定时器未被清除导致的内存泄漏问题。此外,浏览器在标签页不...
setInterval是实现定时任务的重要工具,在开发动态网页时经常会用到,例如制作轮播图、倒计时、实时数据更新等场景。 setInterval函数的语法格式主要有两种:一种是使用普通函数作为参数的写法,另一种是使用对象的...
### jQuery基础的工厂函数以及定时器的经典实例分析 #### 一、jQuery简介 **1.1 定义:** ...以上示例涵盖了jQuery的基础概念、常见应用以及定时器的经典使用场景,希望能帮助读者更好地理解和运用jQuery。