在web开发中,倒计时随处可见,这里主要是用到了timer类,比较简单,直接上例子。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" contentCreationComplete="init()"> <fx:Script> <![CDATA[ import flash.events.TimerEvent; import flash.events.Event; import flash.utils.Timer; private var timer:Timer; private var h_num:int; private var m_num:int; private var s_num:int; private function init():void { //设置时间 h_num = 0; m_num = 2; s_num = 30; time2_txt.text = time_txt.text = "00:02:30"; //启动倒计时 timer = new Timer(1000, 0); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onTimer(event:TimerEvent):void { s_num = s_num - 1; if ((s_num == -1) && (m_num > 0)) { m_num = m_num - 1; s_num = 59; } if ((m_num == 0) && (h_num > 0)) { h_num = h_num -1; m_num = 59; s_num = 59; } if (s_num < 0) //时间停止 { s_num = 0; timer.stop(); } var hh:String; var mm:String; var ss:String; hh = (h_num < 10) ? "0" + h_num.toString() : h_num.toString(); mm = (m_num < 10) ? "0" + m_num.toString() : m_num.toString(); ss = (s_num < 10) ? "0" + s_num.toString() : s_num.toString(); time2_txt.text = time_txt.text = hh + ":" + mm + ":" + ss; } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <mx:Text id="time2_txt" width="180" height="40" fontSize="38" fontWeight="bold" x="42" y="31"/> <mx:Text id="time_txt" width="180" height="40" fontSize="38" color="0xFF0000" fontWeight="bold" x="40" y="29"/> </s:Application>