我在flex的弹出按钮上有一个rollOver事件。我希望菜单在翻转时打开。但是如果用户不小心将鼠标放在组件上,则不应显示菜单。所以在rollOver上我想启动一个计时器(等待半秒),然后检查用户是否仍然在弹出按钮上(rollOut没有被触发)。
到目前为止我的示例代码:
private function rollOverMenu(event:Event){
rollOutNow = false;
var shortDelay:Timer = new Timer(3000);
shortDelay.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteEvent);
shortDelay.start();
}
private function timerCompleteEvent(event:Timer){
Alert.show("time is up");
if (!rollOutNow){
/*open the menu*/
}
}
警报“时间到了”从未显示,任何想法为什么我的计时器事件不起作用?
答案 0 :(得分:1)
是的,但是只提供延迟,而不是重复计数,计时器永远继续,只调度TimerEvent.TIMER事件。
要么监听TimerEvent.TIMER事件,要么让构造函数接受这样的参数:new Timer(3000,1)其中1是重复计数。
答案 1 :(得分:1)
on rollover method(): {
// this sleeps for 3000 milliseconds and then call the method functionName.so
implement ur functionality inside "functionName"
setTimeout(3000,functionName);
}