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 :

Une fonction qui ne fonctionne pas dans les deux sens


Sujet :

JavaScript

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut Une fonction qui ne fonctionne pas dans les deux sens
    bonsoir
    encore une chose que je ne vois pas ou est l'erreur
    si il es invisible il s'affiche et le contraire ne fonctionne pas il ne fait rien
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     (boutons[b][1] === "ajouterdiv") {
                                bout.addEventListener("click", function(event) {//event.preventDefault();
                                       //alert(event.target.outerHTML);// j'ai bien le code donc  la fonction 
                                       if(menudiv.style.visibility="hidden"){editeur.style.right="182px";menudiv.style.visibility="visible";}
                                       if(menudiv.style.visibility='visible'){editeur.style.right='0px';menudiv.style.visibility='hidden';}
     
                                }); 
    }
    j'ai essayé les simple et double guillemet rien ny fait
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut je sais pas si c'est la cause de ton problème mais je pense que ça pourrait être le cas :

    Lorsque tu pose ta condition tu ne vérifie pas l'égalité stricte === au contraire tu affecte menudiv.style.visibility a l'intérieur de la condition en utilisant un seul signe égal = if(menudiv.style.visibility="hidden") au lieu d'un if(menudiv.style.visibility==="hidden") se qui me parait plus juste.

  3. #3
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    Et il n'y a aucun message dans le debugger de ton navigateur ??

    ou en avançant pas à pas dans tes fonctions ??
    (touche F12 sur FireFox et les autres..., )
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 227
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    bonsoir
    encore une chose que je ne vois pas ou est l'erreur
    si il es invisible il s'affiche et le contraire ne fonctionne pas il ne fait rien
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     (boutons[b][1] === "ajouterdiv") {
                                bout.addEventListener("click", function(event) {//event.preventDefault();
                                       //alert(event.target.outerHTML);// j'ai bien le code donc  la fonction 
                                       if(menudiv.style.visibility="hidden"){editeur.style.right="182px";menudiv.style.visibility="visible";}
                                       if(menudiv.style.visibility='visible'){editeur.style.right='0px';menudiv.style.visibility='hidden';}
     
                                }); 
    }
    j'ai essayé les simple et double guillemet rien ny fait
    Pourquoi ne pas faire simplement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(menudiv.style.visibility="hidden")
     {editeur.style.right="182px";menudiv.style.visibility="visible";}
     Else
      // le reste du code
    Le problème ici c'est que tu n'a pas fait de else if, ducoup l'interpréteur passe dans les deux if :/

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour disixlis
    j'avais deja essayé le if else mais c'etait pas ca l'erreur enfait c'etait tout bete et tu fait la meme le "=" c'est en fait "==="

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (boutons[b][1] === "ajouterdiv") {
                                bout.addEventListener("click", function(event) {event.preventDefault();
                                       //alert(event.target.outerHTML);
                                       if(menudiv.style.visibility==="hidden") {
                                           editeur.style.right="182px";menudiv.style.visibility="visible";}
                                       else {
                                       editeur.style.right="0px";menudiv.style.visibility="hidden";
                                              }
     
                                });
    }
    il n'y a qu'un seul truc qui me derange la premiere fois je suis obligé de cliquer 2 fois pour le faire aparraitre apres une fois comme si javascript ne capte pas le visibility:"hidden" dans le css peut etre devrais je enlever le hidden du css et le mettre en javascript a l'ouverture du document et a la creation du div car il est dynamique non ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    @disixlis avec un seul "=" je n'ai pas le retour il apparait mais au prochain clic il repart pas
    c'est juste a la premiere utilisation du bouton apres ouverture du fichier qu'il faut cliquer 2 fois je sais pas pourquoi comme si au depart il etait visible alors que non

    @psychadelic aucune erreur dans le debuger


    Nom : demo2.gif
Affichages : 124
Taille : 628,8 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    salut, as-tu essaye de faire un console.log() de la visibility de ton element ?

    j'ai eu ce genre de probleme et me suis rendu compte que certains elements n'etaient pas pris en compte.

    pour faire ce genre de tests, j'utilise le computedStyle
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    if(window.getComputedStyle(document.getElementById('tonElem')).display === 'none') { ... }
    (je n'ai pas encore eu a le tester pour la visibility, je ne garantis rien)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour Doksuri

    en effet j'avais raison depuis le depart comme le visibility hidden est dans le css au depart j'ai un gros vide a l'interrogation par javascript

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (boutons[b][1] === "ajouterdiv") {
                                bout.addEventListener("click", function(event) {
                                       console.log("avant click " +menudiv.style.visibility);
                                       if(menudiv.style.visibility==="hidden") {
                                           editeur.style.right="182px";menudiv.style.visibility="visible";}
                                       else {
                                       editeur.style.right="0px";menudiv.style.visibility="hidden";}
                                       //event.preventDefault();
                                      console.log("apres click " + menudiv.style.visibility);
     
                                });
                        }
    demo voir le resultat dans console
    Nom : demo2.gif
Affichages : 112
Taille : 268,9 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    j'ai résolu mon soucis de double clic au depart en mettant aussi la condition vide avec "||" (ou) dans le if
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (boutons[b][1] === "ajouterdiv") {
                                bout.addEventListener("click", function(event) {
                                       console.log("avant click " +menudiv.style.visibility);
                                       if(menudiv.style.visibility==="hidden"||menudiv.style.visibility==="") {
                                           editeur.style.right="182px";menudiv.style.visibility="visible";}
                                       else {
                                       editeur.style.right="0px";menudiv.style.visibility="hidden";}
                                       //event.preventDefault();
                                      console.log("apres click " + menudiv.style.visibility);
     
                                });
    }
    merci a tous

    @doksuri je supose que ta formule va chercher dans le css?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(window.getComputedStyle(document.getElementById('tonElem')).propriété
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    j'ai résolu mon soucis de double clic au depart en mettant aussi la condition vide avec "||" (ou) dans le if
    ... if(menudiv.style.visibility==="hidden"||menudiv.style.visibility==="") {....
    Ben ça alors j'ai proposé la même solution au même problème il y a quelque temps ici : #12...

    Sinon la cause du problème tu l'as découverte toi-même, comme je disais dans l'autre fil "C'est normal il faut que le style CSS soit "inline"..."... Donc si on met avant le CSS inline c'est une autre solution...

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    oui ben j'avance doucement et comme je metrise de plus en plus la console j'ai vérifié
    tu a quoi comme internetexplorer toi (quelle version)?
    re et non mon css n'est pas inline je fait les chose bien cette fois ci ....quoi que tout est relatifs
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Oui je vois bien que tu fais de plus en plus de progrès...

    Sinon j'ai la version 8...

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    a mince 8 c'est un peu bas il aurais fallu la 10 min
    comment ca sefait tu tourne sur quoi millenium;98
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/02/2017, 12h18
  2. [AC-2010] fonctions Droite et Gauche qui ne fonctionnent pas dans une requête
    Par samy35 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/03/2014, 10h14
  3. Réponses: 2
    Dernier message: 27/09/2013, 09h40
  4. Réponses: 6
    Dernier message: 22/05/2007, 09h55
  5. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46

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