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 :

[while onmouseover]


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut [while onmouseover]
    Une colle a mon avis...

    Une question qui je pense est impossible mais je demande quand meme pour en etre sur

    Est-il possible de faire en sorte de d�marrer ET BOUCLER une fonction tant que la souris est au dessus d'un �l�ment et d'arreter cette boucle si on la retire...

    En fait, ca serait pour faire un truc du genre onmouseover="javascript:loopThisMethod()" onmouseout="javascript:stopLoopingThisMethod()"

    Je reste sceptique si c'est possible!

  2. #2
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    elle doit faire quoi, cette fonction?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    Ele va faire d�rouler un par un les �l�ments d'une liste, en respectant une vitesse constante...

    ca pourrait aussi fonctionner avec tantQueMonBoutonGaucheEstPress�(){je d�file}

    je n'aime pas l'autoscrolling a dire vrai car ma liste est dynamique et se regenere a chaque fois qu'elle monte ou descend d'un cran...

  4. #4
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    utilise setInterval pour lancer ton instruction de mani�re r�currente, tant qu'un flag reste � true;

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    Merci, mais pourrais-je avoir plus de pr�cisions la dessus stp

    Je ne vois pas comment utiliser setInterval...

    EDIT : Autant pour moi, google est mon ami

    Donc je fais onMouseOver="javascript:meth=setInterval(maMethode(),4000);" onMouseOut="javascript:ClearTimeOut(meth);"

    Une chose me d�range qd meme... Apparement c'est fait pour afficher une string ce truc, ca marchera si je mets une m�thode a la place?

    Je demande parce que je pourrai pas tester avant jeudi

  6. #6
    Membre �prouv�
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Par d�faut
    Cette string doit contenir le nom d'une fonction...

    Je sais c'est bizarre mais bon...

    Donc c'est bien
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    setInterval("maFonction()",4000);
    avec les guillemets (")

    Attention aussi a la diff�rence entre fonction et m�thode, meme si en javascript on peut a la limite consid�r�r les fonctions comment des m�thode de l'objet document

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    Me revoila...

    Assez impressionnant comme r�sultat, je ne peux pas faire comme montr� ci-dessus, j'ai un code g�n�r� assez bizarre... genre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onmouseover="javascript:meth=setInterval(mafonction="",2000="")"
    Plus de majuscules ni de parenthese... Rien...

    Alors je cherche un peu et je trouve ceci :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <HTML>
    <head>
    <script>
    <!--
    function Attendre(Duree)
    {
      string="Affiche("+Duree+");";
      a = setTimeout(string,Duree);
    }
     
    function Affiche(Duree)
    {
      alert(Duree/1000+" seconds se sont écoulées");
    }
     
    function Annule()
    {
      clearTimeout(a);
    	alert("Le message ne viendra pas");
    }
     
    function Repete(Duree)
    {
    	string="alert('Hello');";
    	b = setInterval(string,Duree);
    }
     
    function Interrompre()
    {
      clearTimeout(b);
    }
    // -->
    </script>
    </HEAD>
    <BODY>
    <a href="javascript:void()" onClick="Attendre(2000);">
    Afficher le message dans 2 secondes
    </a><BR>
    <BR>
    <a href="javascript:void()" onClick="Attendre(4000);">
    Afficher le message dans 4 secondes
    </a>
    <BR> 
    <a href="javascript:void(0)" onClick="Repete(4000)"; >
    Afficher le message toutes les 4 secondes
    </a>
    <br>
    <a href="javascript:void(0)" onClick="Interrompre()"; >
    Empecher la répétition
    </a>
    <br>
    </BODY>
    </HTML>
    Fonctionne nikel chrome, c'est justement ce que j'ai besoin...Je colle le code dans le mien, et la... Ben rien

    Rien ne se passe, je ne comprends plus rien

  8. #8
    Expert confirm�

    Avatar de denisC
    Profil pro
    D�veloppeur Java
    Inscrit en
    F�vrier 2005
    Messages
    4 050
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : Canada

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Service public

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 4 050
    Par d�faut
    Citation Envoy� par tyrann
    Rien ne se passe, je ne comprends plus rien
    J'ai pas compris la question... Qu'est ce qui ne fonctionne pas chez toi?

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    Ben la methode appell�e ne s'execute pas...

    j'ai mis ceci :

    - dans le code html :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    	document.getElementById("choix_search"+n).innerHTML+="<p onMouseOver=\"javascript:startLoopGoUp()\">UP</p><br>";
    - dans le js :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function startLoopGoUp(){
    	methode= "goUp()";
    	loopMeth= setInterval(methode,1000);
    }
     
    function stopLoopGoUp(){
    	clearTimeout(loopMeth);
    }
    Je pr�cise que j'ai bien compris la diff�rence entre m�thode et fonction, c'est juste que j'ai toujours pr�f�r� ce nom

  10. #10
    Expert confirm�

    Avatar de denisC
    Profil pro
    D�veloppeur Java
    Inscrit en
    F�vrier 2005
    Messages
    4 050
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : Canada

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Service public

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 4 050
    Par d�faut
    Citation Envoy� par tyrann
    - dans le code html :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    	document.getElementById("choix_search"+n).innerHTML+="<p onMouseOver=\"javascript:startLoopGoUp()\">UP</p><br>";
    vire le javascript: �a sert � rien. onmouseover en minuscules. Pourquoi est-ce que tu l'ajoutes dynamiquement � ta page? TU as essayer de le mettre en dur dans ta page?

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    C'est bon ca fonctionne...

    C'est de ma faute, la confusion a fait que j'ai bien plac� entre "" dans setInterval sauf que la il fallait plus puisque c'etait le nom d'une variable

    Ceci explique cela

    Merci pour tous les gars


    @denisC : effectivement ca sert a rien sauf que ca servira au prochain qui ne connait rien au js et qui saura que c'est du js qui est appell�... Et dans le html la casse n'est pas respect�e

  12. #12
    Expert confirm�

    Avatar de denisC
    Profil pro
    D�veloppeur Java
    Inscrit en
    F�vrier 2005
    Messages
    4 050
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : Canada

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Service public

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 4 050
    Par d�faut
    Citation Envoy� par tyrann
    @denisC : effectivement ca sert a rien sauf que ca servira au prochain qui ne connait rien au js et qui saura que c'est du js qui est appell�... Et dans le html la casse n'est pas respect�e
    Euh, j'espere que le suivant ne pense pas que c'est une recette de crepes suzettes si il n'y a pas �crit javascript devant...

    Sinon, pour la casse en HTML je suis d'accord, mais en XHTML la casse est importante. Et comme je ne sais pas si tu codes en HTML ou en XHTML

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    Ok bien vu j'avais oubli� pour le XHTML

    Sinon, je suis tomb� sur une autre tuile

    Ce systeme est bien pratique, seulement, si je reste trop longtemps sur mon �l�ment d�clencheur, alors, je ne sais pour quelle raison, tout le bazar boucle comme si j'appellais plusieurs fois la fonction setInterval et du coup ben je sais plus les arreter!

    Je viens de faire des tests et ma conclusion est la suivante : setInterval plante!

    La preuve est que j'ai fait apparaitre dans un champ dans le document la valeur d'un compteur qui s'incr�mente a chaque fois que la m�thode contenant setInterval est appell�e... Or il s'incr�mente pas, donc ca veut bien dire que c'est setInterval qui s'impl�mente tout seul...

    J'ai fait le test une 2eme fois en deplacant le clearTimeout dans une fonction a part. Ca donne comme r�sultat qu'on dirait qu'il fait un clearTimeout a l'avance!!! Bref la premiere fonction qui doit etre appell�e ne l'est plus ou est arret�e tout de suite...

    Je vais devenir fou


  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut
    un peu de news depuis tantot...

    J'arrive a bloquer un peu le systeme de redondance en utilisant un boolean pour savoir si il est deja en train de boucler ou pas et alors en declencher un nouveau ou pas...

    MAIS... J'ai un peu mieux isol� le probleme je pense... Apparement c'est le onMouseOut qui ne veut pas fonctionner convenablement si je reste trop longtemps au dessus...

    Donc faut repasser rapidement au dessus pour l'arreter...

    Je suis toujours pas fou mais ca va arriver

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Par d�faut

  16. #16
    Invit� de passage
    Inscrit en
    F�vrier 2007
    Messages
    1
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2007
    Messages : 1
    Par d�faut
    euhm , plutot que de creer un nouveau sujet , j'ai prefer� �crire l�

    j'ai le m�me probleme que celui cit� ci dessus
    mon setInterval boucle (duplication de la fonction appell�e) , j'ai l'impression que je l'appelle mal

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    function MaFonction(pa,ra,met,tres){
     
    	mes actions dans la fonction 
     
            d=setInterval("MaFonction(pa,ra,met,tres)",500); }
    j'ai bien s�r mit une fonction stop() qui contient un " clearInterval(d); " et qui est appell� dans le cas ou la souris n'est plus sur l'objet
    mais rien a faire ... j'en d�duit donc que j'ai mal programm� (ce qui ne m'etonnerais pas vu mon niveau)

    mais o� ?

Discussions similaires

  1. [CR8.5] Pbm d'affichage dans un While
    Par .:Tieri:. dans le forum SAP Crystal Reports
    R�ponses: 1
    Dernier message: 14/07/2004, 10h17
  2. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    R�ponses: 5
    Dernier message: 23/04/2004, 22h51
  3. R�ponses: 2
    Dernier message: 05/02/2004, 13h58
  4. [d�butant]Documentation? boucle "while"? Session?
    Par o151181 dans le forum Servlets/JSP
    R�ponses: 2
    Dernier message: 19/01/2004, 15h20
  5. R�ponses: 3
    Dernier message: 25/11/2002, 14h15

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