Jump to content

kill a function


envexlabs

Recommended Posts

Hey,

 

I have this loop function that runs when the page is loaded.

 

How can i make it so that when i rollover one of the buttons, it stops the function from running?

 

Here is the code:

 

function cycle(){

    function one(){
        ajax(1);
        new Effect.Appear('square1_blue', {duration: 1});
        new Effect.Fade('square1_blue', {delay: 3, afterFinish: two});
    }
    
    function two(){
        ajax(2);
        new Effect.Appear('square2_blue', {duration: 1});
        new Effect.Fade('square2_blue', {delay: 3, afterFinish: three});
    }
    
    function three(){
        ajax(3);
        new Effect.Appear('square3_blue', {duration: 1});
        new Effect.Fade('square3_blue', {delay: 3, afterFinish: four});
    }
    
    function four(){
        ajax(4);
        new Effect.Appear('square4_blue', {duration: 1});
        new Effect.Fade('square4_blue', {delay: 3, afterFinish: one});
    }

    //starts the function

    ajax(1);
    new Effect.Appear('square1_blue', {duration: 1});
    new Effect.Fade('square1_blue', {delay: 3, afterFinish: two});

}

 

Thanks,

 

envex

Link to comment
https://forums.phpfreaks.com/topic/66203-kill-a-function/
Share on other sites

How about having a variable 'continue' which is true most of the time, but if you mouseover set it to false. Then in the function:

var continue = true;
function aFunction() {
  if(continue) {
    // Do the stuff...
  }
}

And your button can be:

<input type='button' onmouseover='continue=false' onmouseout='continue=true' value='A Button!' />

 

Is this what you had in mind?

Hope it helps.

Link to comment
https://forums.phpfreaks.com/topic/66203-kill-a-function/#findComment-331341
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.