Flex-Timer-Beispiel
Ich versuche, mit timer im flex. Ich bezog mich auf dieses Beispiel : Timer : blog.flexexamples.com
.
Hier ist, was ich erreichen will:
Ich möchte, um den timer zu starten, zeigt Minuten verstrichen da timer
gestartet. Es sollte unabhängig von der region sind Sie in.(
gleich welcher zone Sie sich befinden, timer sollte einwandfrei funktionieren
jede zone).Timer fortsetzen sollte, sofern nicht eine bestimmte Schaltfläche geklickt wird, wo ich will
zeigen Sie die verstrichene Zeit in Minuten, die in einer Alert-Box und dann timer starten soll wieder von 0 an.
Ich habe versucht mein Beispiel, aber es funktioniert nicht richtig.
<?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>
Kann jemand sagen, was ist das problem ? Wie es zu lösen ?
EDIT :
Wenn ich dieses Beispiel auf meinen pc, der timer beginnt von 30,0 bis es 59.59 erreicht und dann dreht er sich zurück auf 0.0 und startet dann wieder......Nun, Was ich will, ist zu Beginn von 0,0 und weiter " das zählen von Minuten bis einige button geklickt wird ... und diese Arbeit sollte in jedem Zeitzonen
- Sie sollten derjenige sein zu sagen, was das problem ist! Was mache ich falsch? Wie können wir helfen? "Es funktioniert nicht" nicht wirklich geben keine Hinweise.
- Wenn ich dieses Beispiel auf meinen pc, der timer beginnt von 30,0 bis es 59.59 erreicht und dann dreht er sich zurück auf 0.0 und startet dann wieder......Was ich will ist zu Beginn von 0,0 und weiter " das zählen von Minuten bis einige button geklickt wird ... und diese Arbeit sollte in jedem Zeitzonen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihren Anwendungsfall erfordert nicht die Verwendung von Date() und/oder Zeitzonen. Alles, was Sie tun müssen, ist, zählt man die Sekunden verstrichen, und Timer bietet Ihnen eine einfache Möglichkeit, dies zu tun: stellen Sie das Intervall auf 1000 (Eine Zahl pro Sekunde) und der Verwendung
Timer.currentCount
. Dann alles, was Sie tun müssen, ist zu berechnen, Minuten und Sekunden anzuzeigen. Unten ist eine Implementierung können Sie integrieren in Ihre bestehende mxml:61:15
.. 61 min, 15 Sek vergangen ..Das Beispiel, das Sie sich beziehen, ist die Dinge ein bisschen zu kompliziert für Ihr spezielles problem. Hier ist ein kleines Beispiel, wie können Sie zeigen, dass die Minuten mit einem einfachen
Timer
:0
nur .. die Zeit ändert sich nicht ..showing minutes elapsed
also, warum habe ich mich für den einfachsten Weg. Ihre Lösung ist vollständiger (daher mein +1) (@tomjerry, wenn ich den code testen kann ich der Vergangenheit in der 5-Minuten-Marke btw)