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 :

Rollover qui s'affiche si la souris reste fixe


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut Rollover qui s'affiche si la souris reste fixe
    Bonjour,
    J'ai créer grâce au forum un code de rollover pour du texte. Quand la souris passe sur le texte 1, le texte 2 apparaît en dessous au bout de 3 secondes. Le code fonctionne bien, mais je voudrais rajouter une condition à ce code qui permettrait que le rollover ne s'active que si la souris reste sur le texte 1 au moins une seconde. Car dans ma page, j'aurais plusieurs textes avec cet effet et si la souris passe sur les différents textes même sans s'arrêter, tout les texte en rollover s'affiche.
    Est ce possible et quel fonction permet de faire cela.

    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
    <head>
    <script language="javascript">
    function linkover(monElement){
    var obj = document.getElementById(monElement);
    var text=(obj.innerHTML.length>1?'':'<em>texte2</em>');
    setTimeout(function(){obj.innerHTML=text},3000)
    }
     
    </script> 
    </head>
     
    <body>
     
    <a class="MsoNormal" style="font-size: 11pt;" onmouseover="linkover('monCalque')" onmouseout="linkover('monCalque')"> ? texte 1</a><br />
    <div id="monCalque"></div>
    </body>
    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    il faut que tu ajoutes une variable de condition :

    - rollover = déclenchement d'une tempo de 1 secondes si 1 secondes atteint alors tu lances l'affichage du texte
    - si out = stop du timer et donc non déclenchement de la méthode qui permet d'afficher

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut
    Merci de la réponse. Mais je suis novice et c'est même mon premier code en javascript. Pourrait tu m'indiquer quelle variable de condition permet de faire cela .
    En te remerçiant de ton aide.

  4. #4
    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 : 54
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script language="javascript">
    var timer = null;
    function linkover(monElement){
    if(!timer){
    var obj = document.getElementById(monElement);
    var text=(obj.innerHTML.length>1?'':'<em>texte2</em>');
    timer = setTimeout(function(){obj.innerHTML=text},3000)
    }
    else{timer = null}
    }
     
    </script>
    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

  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 : 54
    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
    Oops... ça va pas marcher, j'ai pas pris en compte que le timer se déclenche dans les deux cas... (mouseover ET mouseout) ma solution fonctionne qu'avec le timer sur mouseover et pas sur mouseout.
    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
    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 : 54
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script language="javascript">
    var timer = null;
    function linkover(monElement){
    if(!timer){
    var obj = document.getElementById(monElement);
    obj.innerHTML.length>1?setTimeout(function(){obj.innerHTML=' '},3000):timer = setTimeout(function(){obj.innerHTML='<em>texte2</em>'},3000);
    }
    else{clearTimeout(timer)}
    }
     
    </script>
    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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/04/2009, 18h18
  2. Texte qui s'affiche au passage de la souris.
    Par Tablaturing dans le forum Flash
    Réponses: 8
    Dernier message: 22/12/2007, 18h06
  3. Réponses: 10
    Dernier message: 16/07/2007, 13h44
  4. image qui s'affiche au dessus avec souris au passage sur un lien
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/09/2006, 22h55
  5. [LG]Programme qui n'affiche rien
    Par ousunas dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2004, 19h38

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