0

我有一系列按钮在 MouseEvent.ROLL_OVER 侦听器上 500 毫秒后使用 SetInterval() 触发弹出窗口。

但是,如果用户在 500 毫秒结束之前关闭按钮,我想取消 SetInterval() 计时器。否则,计时器会继续运行并在错误的时间显示弹出窗口。

如何取消 SetInterval() 计时器?

我的翻转和转出功能的基本代码如下:

    function btn_over(event:MouseEvent) {
        var timer = setInterval ( function () {

            hover_bubble.x = itemX + itemW + 10;
            hover_bubble.y = itemY + 30;

            hover_bubble.gotoAndStop('max');
            clearInterval(timer);

        }, 500);
    }


    function btn_out(event:MouseEvent) {
        //something here to stop the "timer" 

        event.target.gotoAndPlay('out');
        hover_bubble.gotoAndStop(1);
    }
4

1 回答 1

0

试试这个:

var timer:uint;
function btn_over(event:MouseEvent) {
        timer = setInterval ( function () {

            hover_bubble.x = itemX + itemW + 10;
            hover_bubble.y = itemY + 30;

            hover_bubble.gotoAndStop('max');
            clearInterval(timer);

        }, 500);
    }


function btn_out(event:MouseEvent) {

    clearInterval(timer);

    event.target.gotoAndPlay('out');
    hover_bubble.gotoAndStop(1);
}
于 2013-07-22T23:41:15.333 回答