【问题标题】:flex - timer fired on rollOverflex - 在翻转时触发计时器
【发布时间】:2010-11-18 11:36:13
【问题描述】:

我在 flex 中的弹出按钮上有一个翻转事件。我希望菜单在翻转时打开。但是,如果用户不小心将鼠标悬停在组件上,则不应显示菜单。因此,在翻转时,我想启动一个计时器(等待半秒),然后检查用户是否仍在弹出按钮上(未触发 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*/
            }
         }

警报“时间到了”从未显示,任何想法为什么我的计时器事件不起作用?

【问题讨论】:

    标签: apache-flex timer


    【解决方案1】:

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

    要么监听 TimerEvent.TIMER 事件,要么让构造函数接受如下参数:new Timer(3000,1) 其中 1 是重复计数。

    【讨论】:

      【解决方案2】:

      你也可以使用这样的东西..

      on rollover method(): {
      // this sleeps for 3000 milliseconds and then call the method functionName.so     
        implement ur functionality inside "functionName"
      
      setTimeout(3000,functionName);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-17
        • 2021-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多