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 :

cacher/afficher un compteur


Sujet :

JavaScript

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut cacher/afficher un compteur
    Bonjour,

    au bas de mes pages HTML, j'affiche un compteur

    ce compteur est appelé par :

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript>

    je souhaite afficher le compteur quand on pointe l'emplacement du compteur et l'effacer quand on pointe hors de la zone compteur

    Je transforme donc la chose (que j'ai copiée je ne sais où) en

    Code simili CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <DIV style="visibility:visible">
    <P onmouseover="this.style.visibility='visible'"
       onmouseout="this.style.visibility='hidden'">
    <script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript>
    </DIV>

    Quand je lance la page, le compteur est affiché
    lorsque je pointe dessus, il est affiché
    lorsque je sors de la zone, il s'efface et n'est plus réaffiché quand on repointe la zone

    Je ne comprend pas ce qui pêche (à part la balise P qui n'est pas fermée)

    Un de vous a-t-il une idée ?

    Merci

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    C'est plus du JS que du css....

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <DIV onmouseover="this.style.visibility='visible'" onmouseout="this.style.visibility='hidden'">
    <script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript>
    </DIV>

    Et ça simplement, ça ne marche pas ?

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Bonjour,

    ben non, testé avec FF et IE6, ça se passe comme je le décris
    à l'ouverture de la page, le compteur y est
    je vais dessus, il y reste
    je sors, il s'efface
    et il ne revient plus jamais

    Comprend pas

  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par Er3van
    C'est plus du JS que du css....
    je sais plus si les évenements onmouseover et sont acceptés avec les divs sinon tu dois avoir quelque comme ça:
    dans un fichier css ou à l'entete de la page
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #id{visibility='hidden'}
    #id hover{visibility='visible'"}

    dans la div concernée

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="id">....</div>

    bon, disons que je l'ai pas testé...

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    re,
    et merci

    ben non
    j'ai essayé avec DIV, avec P, rien...
    J'ai essayé d'inverser (effacer quand on pointe) rien

    Par contre, j'ai bien compris qu'on séparait le JS du CSS (c'est toujours ça de pris)

    La lutte continue

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    re,

    je commence à y voir plus clair :
    Dans la page HTML, il me semble qu'il faut passer obligatoirement par un script JS comportant deux fonctions :
    - la fonction voir() pour onmouseover
    - la fonction cacher() pour onmouseout

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div onmouseover="voir()" onmouseout="cacher()">
    <script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript>
    </div>

    Le pb c'est pour passer de ces fonctions JS à une commande (provisoire) CSS
    En quelque sorte, comme JS peut-il appeler une classe (ou une id) CSS ?

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script language="JavaScript" type="text/javascript">
    function voir(){
    alert("on passe par voir");
    }
    function cacher(){
    alert("on passe par cacher");
    }
    </script>

    Là je sèche

    Mais les pointures savent faire, eux !!!

    Merci

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Bonjour,

    je crois avoir compris (?) ce qu'il faut faire, mais je ne sais pas comment le faire, je rencontre deux écueils :
    1° manipuler les paramètres d'une fonction
    2° écrire, avec JS, quelque chose dans du code HTML (utiliser la commande return ?)

    Principe
    Au départ, la variable xx a pour valeur "cacher" (procédure JS)
    au survol du compteur, la fonction voir() appelée par onmouseover change xx en "voir", et on recharge le compteur
    à la sortie du survol, la fonction cacher() appelé par onmouseout change xx en "cacher" et on recharge le compteur

    le code JS serait :
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <script language="JavaScript" type="text/javascript">
    var xx=="cacher";
    function voir(){
    alert("voir");
    xx=="voir";
    //ici une instruction pour éxécuter le script JS du compteur
    return
    }
    function cacher(){
    alert("cacher");
    xx=="cacher";
    //ici une instruction pour éxécuter le script JS du compteur
    return;
    }
    </script>

    Le code HTML serait
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class=xx onmouseout=cacher() onmouseover=voir()>
    <script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript>
    </div>

    Un familier de JS sait-il faire cela ?

    Merci

  8. #8
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Javascript
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script language="JavaScript" type="text/javascript">
     
    function voir(this){
    this.style.display="block"
    }
    function cacher(this){
    this.style.display="none"
    }
    </script>
    ou
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script language="JavaScript" type="text/javascript">
     
    function voir(this){
    this.style.visibility="visible";
    }
    function cacher(this){
    this.style.display="none";
    }
    </script>

    html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div onmouseout="cacher(this)" onmouseover="voir(this)">
    <script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript>
    </div>

  9. #9
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Bonsoir

    Ça ne fonctionne pas, et comme j'ai essayé mille variantes autour de ce thème, sans résultat (ou plutot avec des résultats "inexpected" ) j'en suis revenu à des choses plus simples

    Mon HTML est basé sur du texte, s'il est cliqué, il doit disparaître

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="image" onclick="voir()">Ce texte a pour ID le mot image</div>

    Le JS est simple
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script language="JavaScript" type="text/javascript" >
    function voir() {
    alert("voir");
    document.getElementById(image).style.visibility="hidden";
    alert("après");
    }
    </script>

    On passe bien par la fonction, mais le texte reste tel quel et la 2° alerte n'est pas éxécutée

    Tout se passe comme si JS ne comprenait pas les instructions CSS (ce quii n'est pas tellement extraordinaire)

    Comment tourner cette difficulté ?
    Sans doute en modifiant (en JS) les attributs HTML de DIV pour qu'il devienne invisible, mais je doute que cet attribut existe

    Un avis sur la question ?

    Merci

  10. #10
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Re,

    Hourra pour le clown

    Ça fonctionne avec un HTML :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="1" onclick="voir()">Ce texte a pour ID le mot image</div>

    et un JS

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script language="JavaScript" type="text/javascript" >
    function voir() {
    alert("voir");
    document.getElementById(1).style.visibility="hidden";
    alert("après");
    }
    </script>

    il m'a fait transpirer, ce problème, mais j'y suis arrivé

    Faut pas rigoler avec les ID

    Merci à thes32 et à er3van

  11. #11
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 92
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Bonjour,

    modification du programme en question en tenant compte des faits suivants :

    1° en JS, avant de spécifié qu'un élement est hidden il faut que cet élement soit chargé
    2° un élément hidden ne peut pas être cliqué (normal) on prend donc un autre élément comme "déclencheur"

    Ce qui donne finalement

    Code HTML+JS : 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
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/javascript" >
    function voir() {
    document.getElementById(1).style.visibility="visible";
    }
    </script>
    </head>
    <body>
    Programme cachant un compteur puis le faisant apparaitre en cliquant le déclencheur (qui peut être une image par exemple)
     
    <br><br><br><br>
    <div id="1"><script type="text/javascript" src="http://www.abcompteur.com/cpt/?code=4/8/8146/2/1&ID=352737">
    </script><noscript><a href="http://www.abcompteur.com/">ABCompteur : compteur gratuit</a></noscript></div>
    <script language="JavaScript" type="text/javascript" >
    document.getElementById(1).style.visibility="hidden";
    </script>
    <div onclick="voir()">Déclencheur</div>
    </body>

    et voila le travail

    un petit bravo pour encourager l'artiste



    @+

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

Discussions similaires

  1. cacher afficher une image-lien
    Par Alex35 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/11/2006, 12h24
  2. Réponses: 4
    Dernier message: 09/08/2006, 13h53
  3. Afficher un compteur avec nb de caractères constants
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 22/06/2006, 18h38
  4. Cacher/afficher des boutons
    Par philippef dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/09/2005, 16h09
  5. Cacher/afficher quelque chose
    Par pirouette_07 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/09/2005, 11h12

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