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 :

object.addEventListener("mouseover", myScript); sur diff�rents object


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2011
    Messages
    90
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 90
    Par d�faut object.addEventListener("mouseover", myScript); sur diff�rents object
    Bonjour � tous,

    J'aimerais pouvoir compter le nombre de fois qu'un mouseover est fait sur un object.
    Comment faire sachant qu'il y a plusieurs fois cette object pr�sent et qu'il y a un addEventListener sur chacun d'entre eux ?

    Cr�er une variable qui s�incr�mente lorsqu'il y a un mouseover me semble donc impossible, car il faudrait cette variable pour chacun des objects.

    Comment faire ?
    Merci.

    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
    16
    17
    18
    19
    20
     
     
    function game() {
            createItem();   
            window.setTimeout(game, 1000);
        }
    }
     
    function createItem() {
        const newSpan = document.createElement('span');
        newSpan.setAttribute('class', 'Nail');
        newSpan.addEventListener("mouseover", countMouseOver);
        screen.appendChild(newSpan);
    }
     
    function countMouseOver(elem) {
         i++;
         if (i == 5)
            elem.target.style.display = 'none';
    }
    Ce que je veux :
    Si il y a mouseOver sur un �l�ment, incr�mente i, et si i = 5, l'�l�ment disparait.
    Et ceci, pour chaque �l�ment cr�� chaque seconde.

  2. #2
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut


    L'�v�nement "mouseover" est lanc� plusieurs fois tant que le pointeur bouge sur l'�l�ment du DOM. Cet �v�nement est depuis longtemps d�conseill� au profit de "mouseenter".

    Idem pour "mouseout" au profit de "mouseleave".

    Voir les documentations :

    mouseover : https://developer.mozilla.org/fr/doc...ents/mouseover
    mouseenter : https://developer.mozilla.org/fr/doc...nts/mouseenter
    mouseleave : https://developer.mozilla.org/fr/doc...nts/mouseleave

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Salut,

    Bien vu Daniel !

    Edit : Non finalement l��v�nement mouseover n'est pas d�clench� � chaque fois qu'on bouge le curseur souris � l'int�rieur de l'objet... Du moins dans mes tests cf. ci-dessous...

    Citation Envoy� par Maitre2B Voir le message
    Cr�er une variable qui s�incr�mente lorsqu'il y a un mouseover me semble donc impossible, car il faudrait cette variable pour chacun des objects.
    Oui une variable pour chaque objet, je ne vois pas comment faire autrement tout en �tant meilleur... Mais peut-�tre que quelqu'un d'autre saura faire mieux...

    Sinon ce n'est pas si �norme : il suffit d'ajouter cette variable � chaque objet (et de l'initialiser � 0) dans la fonction createItem()...

    EDIT : J'ai test� cela ici : http://jsbin.com/zajovutiri/edit?js,output

  4. #4
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2011
    Messages
    90
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 90
    Par d�faut
    Merci � vous deux !

    Je ne savais pas que l'on pouvait initialiser des variables propre � un object cr�e de cette mani�re
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    newSpan.indice = 0;
     	newSpan.num = numObj++;
    De plus, il est effectivement plus intelligent de faire un screen.removeChild(obj); plut�t que obj.style.display = 'none';

    J'ai bien appris gr�ce � vous deux, encore merci !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [d�butant] les quotes " et ' pour 3 codes diff�rents
    Par Christophe93250 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 21/03/2007, 21h11
  2. [Quote] DVP quot� sur Bashfr
    Par Skyounet dans le forum La taverne du Club : Humour et divers
    R�ponses: 16
    Dernier message: 26/09/2006, 18h52

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