首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rollOver上触发flex - timer

在rollOver上触发flex - timer
EN

Stack Overflow用户
提问于 2010-11-18 19:36:13
回答 2查看 514关注 0票数 1

我在flex的一个弹出式按钮上有一个rollOver事件。我希望菜单在翻转时打开。但是,如果用户不小心将鼠标移到组件上,则不应显示菜单。因此,在rollOver上,我想启动一个计时器(等待半秒),然后检查用户是否仍在弹出按钮上(没有触发rollOut)。

到目前为止,我的示例代码如下:

代码语言:javascript
复制
             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*/
            }
         }

警报“时间到了”永远不会显示,你知道为什么我的计时器事件不工作吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-18 22:00:47

是的,但通过只提供延迟,而不提供重复计数,计时器将永远持续下去,只调度TimerEvent.TIMER事件。

或者监听TimerEvent.TIMER事件,或者让构造函数像这样接受参数: new Timer(3000,1),其中1是重复计数。

票数 1
EN

Stack Overflow用户

发布于 2011-04-23 01:03:08

你也可以使用像这样的东西。

代码语言:javascript
复制
on rollover method(): {
// this sleeps for 3000 milliseconds and then call the method functionName.so     
  implement ur functionality inside "functionName"

setTimeout(3000,functionName);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4214310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档