English 中文(简体)
How do you stop a setInterval function?
原标题:

I have a function that I want to run at an interval within a frame. I use the following code to start the function:

var intervalID = setInterval(intervalFunction, 3000);

Then, in a button s onRelease I want to stop the function. In the onRelease, I make a transition to another frame.

btn.onRelease = function()
{
  clearInterval(intervalID);
  gotoAndPlay("nextframe"); 
}

The intervalFunction continues to execute. What am I doing wrong?

问题回答

Not sure if this solves your problem or not, but if you only need the timer to fire once, you could use setTimeout() instead. The only difference between that and setInterval() is that setInterval() repeats and setTimeout() does not. Here s some examples.

[EDIT] After rereading the question, you can probably disregard that first paragraph, though the examples may still help. [/EDIT]

Addressing your specific question though, it doesn t look like you re doing anything wrong. Might be a silly question, but does intervalID contain the correct value in the debugger when clearInterval is called?

I agree with bhups -- try checking the scope of intervalID. For testing purposes, use an absolute reference to intervalID and see if you get the same behavior.

btn.onRelease = function()
{
  clearInterval(root.<<path to proper level>>.intervalID);
  gotoAndPlay("nextFrame");
}

If you re using AS 3, you could also try switching to the Timer class.

var timer:Timer = new Timer(3000);
timer.addEventListener(TimerEvent.TIMER, intervalFunction);
timer.start();

btn.addEventListener(MouseEvent.CLICK, btnClick);

function btnClick(evt:MouseEvent):void
{
  timer.stop();
  timer.removeEventListener(TimerEvent.TIMER, intervalFunction);
  gotoAndPlay("nextFrame");
}

(neither of these are tested)





相关问题
Disable button tooltip in AS3

I want to disable the tooltip on certain buttons. The tooltip manager seems to be an all or nothing solution. Is it possible to disable the tooltip for just one or two buttons?

Sorting twodimensional Array in AS3

So, i have a two-dimensional Array of ID s and vote count - voteArray[i][0] = ID, voteArray[i][1] = vote count I want the top 3 voted items to be displayed in different colors, so i have a 2nd Array -...

Virtual Tour using sketch up, ajax, flash technologies

I want to know if there are existing technology that make your 3d models in sketch into virtual tours, using either Ajax or Flash for web presentation. If there s none, which will be a good approach ...

AS3 try/catch out of memory

I m loading a few huge images on my flex/as3 app, but I can t manage to catch the error when the flash player runs out of memory. Here is the what I was thinking might work (I use ???? because i dont ...

Red5 Security Tutorial

I am looking for a step by step tutorial on securing Red5 from intrusion. This seems to be a question that comes up alot in a google search, but is never really answered in a way that makes sense to ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

visible property of DisplayObject

For example I have a hierarchy of movie clips. mc1 is a child of mc, and mc2 is a child of mc1. Turns out that when I set mc1.visible = false; mc2.visible stays true. Is that supposed to happen?...

热门标签