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 :

onMouseOver, delai, cacher du texte


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut onMouseOver, delai, cacher du texte
    Bonjour,
    Voila j'utilise un script que j'ai trouvé sur ce site(section sources javaScript)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function affCache(idDiv) {
    	var div = document.getElementById(idDiv);
    	if (div.style.display == "")
    		div.style.display = "none";
    	else
    		div.style.display = "";
    }
    <input type="button" onclick="affCache('div1');" value="affCache('div1')"/>
    <div id="div1">
    </div>
    Le problème c'est que j'aurais aimé qu'au chargement de ma page tout soit caché... et qu'on les découvre en cliquant sur le bouton.
    J'ai essayé via le css, en mettant display none mais ensuite même en cliquant sur les boutons rien ne s'affiche

    J'ai voulu remplacer le onclick par onMouseOver, le problème c'est que j'ai l'impression qu'on ne peut mettre de délai pour l'ouverture... car la c'est trop rapide

    Merci a vous

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par line86 Voir le message
    J'ai essayé via le css, en mettant display none mais ensuite même en cliquant sur les boutons rien ne s'affiche
    Il faut remplacer les "" par "block"

    Pour le délai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTimeout(ta_fonction(), delai_en_ms);
    A+

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Le problème c'est que j'aurais aimé qu'au chargement de ma page tout soit caché...
    dans ce cas dans la CSS écris display:none pour que tous les éléments soient cachés dès le chargement de la page (cela évitera l'éventuel appel à une fonction qui cachera les éléments les uns après les autres).

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut
    Merci beaucoup pour vos réponses
    Donc j'arrive à "les" cacher au chargement mais il me reste des petits problèmes je suis débutant donc ...

    J'ai rajouté dans mon css
    #div1 {
    display:none;
    }
    Le problème c'est que je peux avoir un nombre différent de div...
    Il n'y a pas comme l'étoile pour lui dire tout ce qui finit par n"importe quoi... lol

    Et je n'arrive pas a utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setTimeout(ta_fonction(), delai_en_ms);
    Je l'ai testé ainsi mais sans résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="button" setTimeout(onmouseover="affCache('div1')",1000) value="nom"/>
    <input type="button" onmouseover=setTimeout("affCache('div1')",1000) value="nom"/>
    Merci beaucoup pour votre aide!!

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par line86 Voir le message
    Le problème c'est que je peux avoir un nombre différent de div...
    Dans ce cas, mieux vaut utiliser une class (CSS) que tu affecteras à chacun des div concernés ...

    Pour le problème de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="setTimeout(affCache('div1'),1000);" value="affCache('div1')"/>
    A+

  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
    <input type="button" onclick="setTimeout(affCache('div1'),1000)" value="Texte_du_bouton" />
    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

  7. #7
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Le problème c'est que je peux avoir un nombre différent de div...
    là plusieurs façons de procéder :

    1- tu fais une classe :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    .cacherDiv{
    display:none;
    }
    et pour chacun des div à cacher tu utilises l'attribut class :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="cacherDiv">ce div est caché</div>
     
    <div class="cacherDiv">ce div est caché</div>
     
    <div>ce div n'est pas caché !!!!</div>
     
    <div class="cacherDiv">ce div est caché</div>
    tous les div qui appelleront la classe cacherDiv seront cachés.

    2- Tu utilises les id des éléments à cacher (comme tu l'as fait ci-dessus pour le #div1)
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #div1, #div2, #div3{
    display:none;
    }
    Mais si tu as 50 div à cacher cela peut être fastidieux

    3- Tu appliques la propriété sur tous les div :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    div{
    display:none;
    }
    là c'est radical, tous les div seront cachés mais je ne crois pas que ce soit ce que tu recherches.

    Remarque : fais bien attention à la syntaxe dans les 3 cas (présence d'un point devant le nom de la classe, un # si tu utilises l'id, ou le nom de la balise pour que la propriété s'applique à tous les éléments).

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut
    Merci pour vos réponses !!!
    Mais voila le problème, si j'utilise une class lorsque je vais survoler un bouton il risque de tout m'ouvrir car il n'aura plus un id unique... non?
    Il me reste la méthode #div1, #div2 .... lol

    J'ai essayé les différentes syntaxes pour le setTimeout mais ça ne fonctionne pas
    mais comme je le mets dans un print car je suis en php... je me suis peut être trompé...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print("<input type=\"button\" onmouseover=\"setTimeout(affCache('div$i'),1000000)\" value=\"$nomComplet\" />");
    Merci encore !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cacher du texte
    Par minie dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 23/05/2007, 09h50
  2. Ne pas afficher ou cacher un texte
    Par NPortmann dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/12/2006, 10h27
  3. Cacher du texte d' une page web
    Par WELCOMSMAIL dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 26/10/2006, 11h02
  4. cacher un texte lors de la saisi
    Par moicats dans le forum Access
    Réponses: 5
    Dernier message: 09/05/2006, 16h51
  5. Cacher le texte d'une cellule MSFlexGrid
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/09/2005, 19h03

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