【发布时间】:2011-12-09 14:26:47
【问题描述】:
我正在尝试在 flex 中使用计时器。我提到了这个例子:Timer : blog.flexexamples.com。
这是我想要实现的目标:
我想启动计时器,显示 从计时器过去的分钟数 开始了。它应该与您所在的地区无关。( 无论您在哪个区域,计时器都应该可以正常工作 每个区域)。
定时器应该继续,除非我想点击某个按钮 在警报框中显示经过的时间(以分钟为单位),然后计时器应从 0 开始重新开始。
我尝试了我的示例,但它无法正常工作。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.events.TimerEvent;
import flash.utils.Timer;
import mx.controls.Alert;
private const TIMER_INTERVAL:Number = 10;
private var baseTimer:int;
private var t:Timer;
private function init():void {
t = new Timer(TIMER_INTERVAL);
t.addEventListener(TimerEvent.TIMER, updateTimer);
}
private function updateTimer(evt:TimerEvent):void {
var d:Date = new Date(getTimer()-baseTimer);
var min:String = (d.minutes).toString();
var sec:String = (d.seconds).toString();
counter.text = String(min+"."+sec);
}
private function startTimer():void {
baseTimer = getTimer();
t.start();
}
private function stopTimer():void {
t.stop();
}
]]>
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Button label="Start timer" click="startTimer()" />
<mx:Button label="Stop timer" click="stopTimer()" />
</mx:ApplicationControlBar>
<mx:Label id="counter" fontSize="96" />
</mx:Application>
有人能说出问题所在吗?如何解决?
编辑: 如果我在我的电脑上运行这个例子,计时器从 30.0 开始,直到它达到 59.59,然后它变回 0.0,然后再次开始......现在我想要的是从 0.0 开始并继续计数分钟直到某个按钮被点击...这应该适用于任何时区
【问题讨论】:
-
你应该是那个说出问题所在的人!怎么了?我们能帮你什么吗? “它不起作用”真的没有给出任何线索。
-
如果我在我的电脑上运行这个例子,计时器从 30.0 开始,直到达到 59.59,然后它又回到 0.0,然后再次开始......我想要的是从 0.0 开始并继续计算分钟,直到单击某个按钮...这应该适用于任何时区
标签: flash actionscript-3 apache-flex timer flex3