在计时器完成之前取消SetInterval()

时间:2013-07-22 23:34:22

标签: actionscript-3 actionscript setinterval clearinterval

我有一系列按钮,在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);
    }

1 个答案:

答案 0 :(得分: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);
}