begin process at 2012 05 27 20:36:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

stopper un setinterval lors d'un rollOver


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

stopper un setinterval lors d'un rollOver

vendredi 8 janvier 2010 à 16:43:08 | stopper un setinterval lors d'un rollOver

poiuytreza92

Bonjour à toutes et à tous ,
Je suis entrain de réaliser pour un site un menu où lorsque la souris est inactive durant 5 secondes le menu diparait j'ai appliqué la fonction setinterval + time out

voici mon code:
timeout = 5000;
once = true;

this.onmousemove = function(){
clearInterval(ID);
ID = setInterval(action, timeout);
trace("interaction");
if(once == false){
gotoAndStop(25);
once = true;
}
};

function action(){
clearInterval(ID);
trace("pas de mouvement durant 5 secondes");
if(once == true){
gotoAndPlay (60);
once = false;

}
};


Je souhaiterai lorsque ma souris effectue un roll over sur un bouton et que je ne touche plus la souris durant 5 secondes la fonction setinterval soit désactivé c'est à dire que le compte à rebours soit bloqué j'ai tenté plusieurs et divers codes avec clearIntervalID qui "tue" la fonction setime cad qu'elle s'enclenche qu'une seul fois je me prends la tête depuis 3 jours .


je souhaiterai savoir si il existe une solution
merci
vendredi 8 janvier 2010 à 20:32:49 | Re : stopper un setinterval lors d'un rollOver

piere2

Bonsoir
Est-ce une erreur de saisie ? onmousemove au lieu de onMouseMove

Pour expérimenter le code ci-dessous il faut créer un bouton appelé bt et le mettre sur la scène;

Après on peut utiliser un this.onEnterFrame = function() (sans oublier de l'arrêter en fin d'action) pour déclencher ou autre chose...

th=this;

function suivresouris() {
xm = _xmouse;
ym = _xmouse;
trace("x="+xm+" y="+ym);
}

bt.onPress = function() {
trace("bouton cliqué");
tempo = setInterval(th, "suivresouris", 100);
ts = setInterval(th, "surveilleposition", 5000);
};


function surveilleposition() {
xs = _xmouse;
ys = _xmouse;
if (xm == xs && ym == ys) {
trace("fonction arrêtée");
clearInterval(tempo);
clearInterval(ts);
}
}

Pi'ère2
vendredi 8 janvier 2010 à 20:35:44 | Re : stopper un setinterval lors d'un rollOver

piere2

Je suis à l'ouest; pour déclencher l'action il suffit d'utiliser onMouseMove.


Pi'ère2
vendredi 8 janvier 2010 à 23:41:50 | Re : stopper un setinterval lors d'un rollOver

piere2

Bizarre je croyais avoir mis un complément:

je re poste.

th=this;

function suivresouris() {
xm = _xmouse;
ym = _xmouse;
trace("x="+xm+" y="+ym);
}

nd=0;
th.onMouseMove = function() {
nd++;
if(nd==1){
trace("fonction démarée");
tempo = setInterval(th, "suivresouris", 100);
ts = setInterval(th, "surveilleposition", 5000);
}
};


function surveilleposition() {
xs = _xmouse;
ys = _xmouse;
if (xm == xs && ym == ys) {
trace("fonction arrêtée");
clearInterval(tempo);
clearInterval(ts);
nd = 0;
}
}

Pi'ère2
samedi 9 janvier 2010 à 00:03:48 | Re : stopper un setinterval lors d'un rollOver

piere2

Il est temps que j'aille me coucher.

Voilà le code qui fonctionne correctement:

th = this;

function suivresouris() {
xs = xm;
ys = ym;
xm = _xmouse;
ym = _xmouse;
trace("x="+xm+" y="+ym);
if (xm == xs && ym == ys) {
clearInterval(tempo);
ts = setInterval(th, "arretefonction", 1000);
}
}

nd = 0;
th.onMouseMove = function() {
nd++;
if (nd == 1) {
trace("fonction démarée");
tempo = setInterval(th, "suivresouris", 100);
}
};

na = 0;
function arretefonction() {
if (na == 5) {
trace("fonction arrêtée");
clearInterval(ts);
nd = 0;
na = 0;
} else {
trace("compte à rebours commencé");
na++;
}
}


Pi'ère2
samedi 9 janvier 2010 à 01:16:00 | Re : stopper un setinterval lors d'un rollOver

poiuytreza92

Réponse acceptée !
Un énorme merci Pi'ère2

(dsl de te répondre si tard mais j'étais parti)

Mais je viens de trouver la solution il fallait tout simplement mettre clearInterval(ID) sur le rollover!

Merci pour tout je vais quand meme tester ton code
A+


Cette discussion est classée dans : fonction, secondes, souris, setinterval, once


Répondre à ce message

Sujets en rapport avec ce message

setInterval perte des variables [ par f ] Lorsque je lance ma fonction directement, tout s'execute normalement, mais j'ai besoin de l'executer 5 fois avec un interval de temps entre.Mais lorsq Empêcher l'appel d'une fonction pendant 2 secondes [ par webeur ] Bonjour, j'aimerais savoir comment faire pour empêcher l'appel d'une fonction pendant deux secondes car je fais un jeu mais le problème est qu'il est loader un swf en fonction de la position de la souris! [ par ygardens ] j'ai mis ce code et ca ne fonctionne pasje voudrais qu'un swf se load si le curseur se trouve dans une zone 360px!voici mon code:_root.onEnterFrame = integrer au pointeur souris une fonction brush et faire apparaitre une photo apres le passage de la souris [ par fmelsteph ] Bonjour à tous, je suis nouveau sur flashkod et m'interresse à flash que depuis peu.j'apprends énormement grace à ce site et je ne compte plus les heu integrer au pointeur souris une fonction brush et faire apparaitre une photo apres le passage de la souris [ par fmelsteph ] Bonjour à tous, je suis nouveau sur flashkod et m'interresse à flash que depuis peu.j'apprends énormement grace à ce site et je ne compte plus les heu Se déplacer dans une image avec la souris [ par mlleliberte ] Bonjour à tous,Je me permets de poster ceci car j'ai beau parcourir les codes et tutoriaux mais je ne trouve pas mon bonheur...Je cherche en fait à me do{ [...] attendre 900 secondes (???) }while [ par ReneN013 ] Je m'excuse si la question a déjà été posée mais existe-t-il un moyen afin de patienter avant de relancer la même fonction.L'idéal serait une ligne ou probleme pause AS [ par stefbuet ] bonjour !Je suis pour le moment en train de batailler avec un probleme :je suis en train de faire un éditeur de dessin, et donc, il genere,(comme sur Peut on stopper l'execution d'une fonction setInterval? [ par fanatikx ] Bonjour à toutes et à tous,J'ai un petit probleme au niveau de la création d'un slide-show. Voila, alors j'ai fait tout mes boutons (4), quand on pass fonction setInterval( [ par astrolabbcracker ] bonjour et merci de lire ce message, je ne comprend pas bien la fonction setinterval : comment faire pour lancer la fonction toutes les 4 secondes par


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales