【发布时间】:2010-07-18 15:26:32
【问题描述】:
所以今天我的问题是,我们如何才能让 Timer 事件和 Mouse 事件同时触发 1 个函数? '试图避免仅仅因为我还有一个触发它的鼠标事件而不仅仅是一个定时器事件而必须重写/重命名一个函数。
问题:
我有一个 addThis 气泡在按钮滚动时带有图标淡入,addThis 气泡将在计时器完成后淡出,但我在该气泡中还有一个关闭按钮,它需要使用与计时器相同的功能. (想避免写2个完全相同的函数)
我希望这有一个简单的解决方法,比如 event:null 或其他东西。
定时器事件:
private function overShareButton(event:MouseEvent):void
{
shareIconsTimer = new Timer(3000,1);
shareIconsTimer.addEventListener(TimerEvent.TIMER, fadeOutShareIcons);
shareIconsTimer.start();
fadeInShareIcons();
}
关闭按钮事件:
shareIcons.btn_closeIcons.addEventListener(MouseEvent.MOUSE_UP, fadeOutShareIcons);
addThis 气泡淡出功能:
// Fade out the addThis Icons
private function fadeOutShareIcons(e:TimerEvent):void
{
shareIcons.buttonMode = false;
shareIcons.btn_closeIcons.buttonMode = false;
shareIcons.btn_email.buttonMode = false;
shareIcons.btn_facebook.buttonMode = false;
shareIcons.btn_myspace.buttonMode = false;
shareIcons.btn_digg.buttonMode = false;
shareIcons.btn_delicious.buttonMode = false;
shareIcons.btn_favorites.buttonMode = false;
shareIcons.btn_twitter.buttonMode = false;
shareIcons.btn_google.buttonMode = false;
shareIcons.btn_messenger.buttonMode = false;
shareIcons.btn_stumbleupon.buttonMode = false;
// STOP TIMER & Remove share icon button events...
shareIconsTimer.stop();
shareIconsTimer.removeEventListener(TimerEvent.TIMER, fadeOutShareIcons);
shareIcons.btn_email.removeEventListener (MouseEvent.MOUSE_UP, addThisToEmail);
shareIcons.btn_facebook.removeEventListener (MouseEvent.MOUSE_UP, addThisToFacebook);
shareIcons.btn_myspace.removeEventListener (MouseEvent.MOUSE_UP, addThisToMyspace);
shareIcons.btn_digg.removeEventListener (MouseEvent.MOUSE_UP, addThisToDigg);
shareIcons.btn_delicious.removeEventListener (MouseEvent.MOUSE_UP, addThisToDelicious);
shareIcons.btn_favorites.removeEventListener (MouseEvent.MOUSE_UP, addThisToFavorites);
shareIcons.btn_twitter.removeEventListener (MouseEvent.MOUSE_UP, addThisToTwitter);
shareIcons.btn_google.removeEventListener (MouseEvent.MOUSE_UP, addThisToGoogle);
shareIcons.btn_messenger.removeEventListener (MouseEvent.MOUSE_UP, addThisToLive);
shareIcons.btn_stumbleupon.removeEventListener (MouseEvent.MOUSE_UP, addThisToStumbleupon);
TweenLite.to(shareIcons, .2, {alpha:0});
}
我现在唯一的选择是创建另一个函数来处理关闭按钮 MouseEvent,感谢任何提示/想法! :D
【问题讨论】:
标签: flash actionscript-3 event-handling timer mouseevent