Flex中如何利用setInterval()和clearInterval()函数按照一定时间有规则的执行函数的例子
By Minidxer | April 4, 2009
接下来的例子演示了Flex中如何利用setInterval()和clearInterval()函数,按照一定时间有规则的执行函数。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.controls.Alert;
- import mx.controls.dataGridClasses.DataGridColumn;
- private var interval:uint;
- private function startInt():void {
- interval = setInterval(getTime, 1000); // 1 second
- startButton.enabled = false;
- stopButton.enabled = true;
- }
- private function stopInt():void {
- if (interval) {
- clearInterval(interval);
- Alert.show("Interval stopped.");
- startButton.enabled = true;
- stopButton.enabled = false;
- }
- }
- private function getTime():void {
- arrColl.addItemAt({date:new Date(), timer:getTimer()}, 0);
- }
- private function date_labelFunc(item:Object, col:DataGridColumn):String {
- var dat:Date = item.date as Date;
- return dat.toTimeString();
- }
- private function timer_labelFunc(item:Object, col:DataGridColumn):String {
- return numberFormatter.format(item.timer);
- }
- ]]>
- </mx:Script>
- <mx:NumberFormatter id="numberFormatter"
- useThousandsSeparator="true" />
- <mx:ArrayCollection id="arrColl" />
- <mx:ApplicationControlBar dock="true">
- <mx:Button id="startButton"
- label="start interval"
- click="startInt();" />
- <mx:Button id="stopButton"
- label="stop interval"
- enabled="false"
- click="stopInt();" />
- </mx:ApplicationControlBar>
- <mx:DataGrid id="list"
- dataProvider="{arrColl}"
- verticalScrollPolicy="on"
- width="300">
- <mx:columns>
- <mx:DataGridColumn dataField="date"
- headerText="date:"
- labelFunction="date_labelFunc"
- width="200" />
- <mx:DataGridColumn dataField="timer"
- headerText="timer (ms):"
- labelFunction="timer_labelFunc"
- textAlign="right"
- width="100" />
- </mx:columns>
- </mx:DataGrid>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Other |
No Comments » |
1,217 views
Tags: clearInterval(), setInterval()