`
xiaotian_ls
  • 浏览: 306019 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

flex: 使用setInterval 制作定时器

    博客分类:
  • Flex
阅读更多
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
}

http://blog.csdn.net/applecjn/archive/2005/10/29/519173.aspx
分享到:
评论

相关推荐

    flex定时器修改定时时间等操作1

    在这个特定的示例中,我们看到一个基于Spark的Flex应用,它使用了`setInterval`方法来创建一个定时器,该定时器每隔一段时间就会触发一个事件。下面我们将深入探讨与这个标题和描述相关的关键知识点。 1. **Flash的...

    Extjs4 Grid分页与自动刷新

    **2.1 使用定时器** 可以通过设置定时器来定期刷新Grid中的数据。 ```javascript function refreshGrid() { store.loadPage(1); // 重新加载第一页数据 } // 设置每5秒刷新一次 setInterval(refreshGrid, 5000);...

    Flex 实时曲线图(定时获取后台数据)

    通过上述分析,我们了解到这个Flex实时曲线图的核心实现是利用`setInterval`定时器不断向`ArrayCollection`数据集合中添加新生成的数据,并通过`mx:LineChart`组件将这些数据可视化展示出来。这种方式简单而有效,...

    JavaScript定时器的简单小案例

    在JavaScript中,有两个主要的定时器函数:`setInterval` 和 `setTimeout`。 `setInterval(function(){}, t)` 用于设置一个定时器,传入一个函数作为参数,该函数将在每`t`毫秒后被调用。这里的`function(){}`是你...

    2021西安面试题合集.docx

    4. JavaScript定时器: - setInterval():周期性执行指定函数,直到被clearInterval()清除或页面关闭。 - setTimeout():只执行一次指定的函数,延迟指定的毫秒数后执行。不同于setInterval,它不会持续执行。 5....

    【JavaScript源代码】JavaScript定时器实现限时秒杀功能.docx

    - 设置宽度为`10%`,高度为`10%`,边框为红色实线,使用`flex`布局确保内部元素水平垂直居中。 4. **字体样式** (`fontdate`, `fonttext`): - 分别设置了不同的颜色,以区分数值和单位。 #### 四、JavaScript...

    JavaScript JS 图片不间断滚动

    2. 设置定时器:使用`setInterval`函数创建一个定时器,每隔一定时间(如2秒)执行切换图片的函数。 3. 图片切换:在切换函数中,可以改变图片的`src`属性或者使用CSS的`background-image`属性来更换图片,并确保...

    用JavaScript和ASP制作连续滚动的字幕

    4. **动画平滑**:使用CSS3的`transition`属性,可以使滚动更加平滑。 5. **多行滚动**:如果需要多行滚动,可以使用多个`&lt;p&gt;`标签或CSS的`display: flex`来实现。 总之,结合JavaScript和ASP,我们可以实现个性化...

    web前端常用单词.docx

    * SetInterval: 设置反复性定时器,用于设置一个反复性的定时器。 * SetTimeout: 设置一次性定时器,用于设置一个一次性的定时器。 * Clear: 清除,用于清除定时器或其他对象。 * Close: 关闭,用于关闭当前窗口或...

    轮播图2.zip

    - `setInterval`定时器:用于实现自动滚动功能,每隔一定时间自动切换到下一张轮播图。 4. JavaScript 逻辑: - 计算轮播项的数量和当前显示的索引。 - 当点击“上一张”按钮时,如果当前索引不是0,则减1;否则...

    自写Js+CSS轮显效果.rar

    2. **定时器**:使用`setInterval`函数创建一个定时器,以定时改变显示的内容。这是实现轮显自动切换的基础。 3. **切换逻辑**:编写逻辑来切换当前显示的项。可以是简单的索引增加,或者结合循环处理,确保超出...

    web前端期末大作业 HTML游戏资讯网页设计制作 简单静态HTML网页作品 DW游戏资讯网页作业成品 游戏网站模板

    - 通过JavaScript定时器(`setInterval()`)实现图片自动切换效果。 - 利用CSS的`transition`属性使图片切换更加平滑自然。 #### 4. 多媒体元素应用 - 在网页中嵌入`&lt;video&gt;`、`&lt;audio&gt;`等标签来展示多媒体内容。 - ...

    原生js自适应宽度焦点图切换_自适应焦点图切换代码

    3. 定时器:`setInterval()`和`setTimeout()`函数可以设置定时任务,实现自动切换效果。 二、自适应设计 自适应布局是现代网页设计的重要组成部分,它允许网页根据不同的设备屏幕尺寸进行调整。在焦点图中,这意味...

    小米商城,通过使用html+css+js实现

    2. **轮播图**:实现图片的自动滑动和手动切换,通常会用到`setInterval`定时器,以及`prev`和`next`按钮的点击事件处理。 3. **表单验证**:检查用户输入,如邮箱格式、密码强度等,提供实时反馈。 4. **AJAX异步...

    jquery slider图片插件制作带文字遮罩图片轮播切换代码

    在本文中,我们将深入探讨如何使用jQuery创建一个带有文字遮罩的图片轮播插件,以及涉及的关键技术点。jQuery Slider是一种广泛应用于网页设计中的组件,它能够展示一系列图像,并通过用户交互(如点击或自动播放)...

    jQuery图片左右滚动banner代码下载

    - **定时器**:可选地,可以设置定时器自动切换图片,通常用`.setInterval()`函数。 - **回调函数**:确保每次切换时更新当前显示的图片索引,并更新导航点的状态。 5. **代码结构**:一个基本的jQuery图片左右...

    CSS3圆点矩阵蓝色背景特效.zip

    3. **定位**:使用`position`(如`relative`、`absolute`或`fixed`)和`top`, `right`, `bottom`, `left`属性来控制圆点的位置。 4. **动画和过渡**:`@keyframes`规则用于定义动画序列,`animation`属性则可以应用...

    移动端可滑动轮播图

    2. 自动播放功能:使用定时器(`setInterval`)每隔一定时间切换到下一张图片。 3. 手动切换:监听滑动事件(如触摸滑动)或点击控制按钮,执行切换逻辑。 4. 动画控制:使用JavaScript动画API(如`...

    jquery一屏4张图一齐滚动的焦点图Demo

    同时,可能使用`display`属性(如`flex`或`grid`)来创建响应式的布局。 4. **CSS动画**:CSS3的`transition`和`animation`属性可以创建平滑的过渡和动画效果。在这个Demo中,图片的滚动可能是通过改变元素的位置或...

    HTML实现Tab选项卡(自动+手动)

    2. 自动切换:可以使用`setInterval`定时器实现自动轮播。添加一个计数器变量和一个切换函数,然后在指定间隔后调用切换函数。 ```javascript let currentIndex = 0; const tabCount = $(".tabs a").length; ...

Global site tag (gtag.js) - Google Analytics