IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Démarage et arrêt d'une fonction au survol


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 165
    Par défaut Démarage et arrêt d'une fonction au survol
    Bonjour,

    Je souhaite démarrer une fonction au survol d'un élément. Ce la ne pose pas de soucis avec un simple:
    onsouseover.

    Le problème que je n'arrive pas à résoudre et comment arrêter la fonction ceci sachant qu'elle utilise évènement onmousemove.

    D'avance merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 73
    Par défaut
    Il doit exister différentes façon de faire.
    Mais intuitivement en créant une variable globale booléenne , tu devrait pouvoir faire tourner dans ta fonction la routine que tu souhaites avec une condition (if(pause==false)), et la stopper en passant à false la variable globale lors du "onmouseout".

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je pense qu'il nous manque des éléments pour te répondre de manière pertinente. Que fait la fonction lancée lors du survol ? Elle lance une boucle que tu veux arrêter quand le pointeur quitte l'élément tracké ?

    "Arrêter une fonction", c'est vague. Si c'est une boucle, tu peux imaginer un flag boolean qui se met à false au moment ou le curseur sort de l'élément que tu track. Tu rajoute ensuite dans ta boucle une condition sur le boolean.

  4. #4
    Membre très actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 165
    Par défaut
    En fait, il s'agit du suivit du pointeur par une image.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il existe plusieurs façons d'attacher un événement.
    Si tu ne nous montres pas comment tu fais, on ne peut pas te répondre efficacement !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre très actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 165
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Il existe plusieurs façons d'attacher un événement.
    Si tu ne nous montres pas comment tu fais, on ne peut pas te répondre efficacement !


    Voici la fonction de suivi:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function suitsouris(evenement){                                           
            if(navigator.appName=="Microsoft Internet Explorer"){             
                    var x = event.x+document.body.scrollLeft;                 
                    var y = event.y+document.body.scrollTop;                  
            } else {                                                          
                    var x =  evenement.pageX;                                 
                    var y =  evenement.pageY;                                 
            }                                                                 
            /*document.getElementById("image_suit_souris").style.left = (x+1)+'px';
            document.getElementById("image_suit_souris").style.top  = (y+1)+'px';*/
            var pointeur=document.getElementById("image_suit_souris");
            pointeur.style.left = (x-(pointeur.width)/2)+'px';                
            pointeur.style.top  = (y-(pointeur.height)/2)+'px';
            //alert(pointeur.src.width);
    }
    Et puis l'image:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="admin/cible.png" alt="Image qui suit la souris" id="image_suit_souris" style="position:absolute;display:block;z-index:5;" ;/>

    Je veux que lors du survol d'un menu une image suive le pointeur pour mettre en relief la sélection

  7. #7
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Je propose l'évènement qui se nomme mouseenter, et son confrère mouseleave. Ils fonctionnent comme mousein et mouseout, à la seule différence qu'ils vérifient avant d'agir que la cible est bien l'élément sur lequel le gestionnaire a été attaché. En clair, ils se comportent comme la pseudoclasse CSS :hover. C'est une bonne idée introduite - pour une fois - par Microsoft dans Internet Explorer depuis la version… 5.5 !

    Au passage, j'adore la façon dont Peter-Paul Koch invite les éditeurs de navigateurs à implémenter ces évènements dans les plus brefs délais. (http://www.quirksmode.org/dom/events/)

    Mais bref. Voici comment simuler ces évènements sur un navigateur qui n'est pas Internet Explorer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $element.addEventListener("mousein", function( event ){
    	if (this != event.target) return;
     
    	// ici le code de la fonction mouseenter
     
    }, false);
     
    $element.addEventListener("mouseout", function( event ){
    	if (this != event.target) return;
     
    	// ici le code de la fonction mouseleave
     
    }, false);
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. éxécuter une fonction au démarage de l'IHM
    Par autousto dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 07/11/2011, 13h32
  2. [XL-2007] Modification d'une range = arrêt de la fonction
    Par hydredelerne dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/02/2011, 12h44
  3. Trouver un point d'arrêt dans une fonction
    Par 65days dans le forum MATLAB
    Réponses: 6
    Dernier message: 11/08/2009, 22h21
  4. arrêt d'éxécution d'une fonction après un window.-.-.href = fontion()
    Par jamesleouf dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/07/2008, 13h07
  5. [C#] Arrêt d'une fonction et reprise
    Par ekinox17 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/05/2006, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo