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 :

Boucle qui ne fonctionne pas


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Points : 159
    Points
    159
    Par défaut Boucle qui ne fonctionne pas
    Bonjour à tous !

    Ma question me semble triviale, mais je ne vois pourtant pas où ça cloche...
    L'idée est que lorsqu'on appuie sur un bouton, ça affiche 8 blocs. Par défaut, dans le CSS, ces blocs ont comme propriété "visibility : none;"

    Voici le code HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	<p><a href="javascript:minifenetres(8)">Cliquez ici pour encadrer les mini-fenêtres</a>.
    	<div id="image_accueil">
    		<div id="mf1" class="encadrement_minifenetre"></div>
    		<div id="mf2" class="encadrement_minifenetre"></div>
    		<div id="mf3" class="encadrement_minifenetre"></div>
    		<div id="mf4" class="encadrement_minifenetre"></div>
    		<div id="mf5" class="encadrement_minifenetre"></div>
    		<div id="mf6" class="encadrement_minifenetre"></div>
    		<div id="mf7" class="encadrement_minifenetre"></div>
    		<div id="mf8" class="encadrement_minifenetre"></div>
            </div>
    Et le Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Affiche ou masque les mini-fenêtres
    function minifenetres (nb) {
    	// Pour les 8 blocs	
    	for(i=0; i<=nb; i++) {
    		var obj=document.getElementById("mf"+i).style;
    		if(obj.visibility=='visible') {
    			obj.visibility='hidden';
    		} else {
    			obj.visibility='visible';
    		}
    	}
    }
    Firefox me renvoie :

    Erreur*: document.getElementById("mf" + i) is null
    Fichier Source*: file:///C:/moncheminquejai/scripts.js
    Ligne*: 20

    La ligne 20 c'est : var obj=document.getElementById("mf"+i).style;

    Pour information, le code suivant fonctionne parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		i=4;
    		obj=document.getElementById("mf"+i).style;
    		if(obj.visibility=='visible') {
    			obj.visibility='hidden';
    		} else {
    			obj.visibility='visible';
    		}
    (exemple pour un seul bloc).

    Merci par avance aux âmes charitables qui sauront m'aider

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut, tu début i par 0 or qu'il n'y a pas de mf0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function minifenetres (nb) {
    	// Pour les 8 blocs	
    	for(i=1; i<=nb; i++) {
    		var obj=document.getElementById("mf"+i).style;
    		if(obj.visibility=='visible') {
    			obj.visibility='hidden';
    		} else {
    			obj.visibility='visible';
    		}
    	}
    }

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    c'est le planter de baton qui va pas ...

    oui ou sans modifier la boucle => mf+(i+1)

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    oui ou sans modifier la boucle => mf+(i+1)
    il va retourner mf9 dans ce cas.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Points : 159
    Points
    159
    Par défaut
    J'ai honte... Très honte...
    J'écrirais combien de Paterscripts et d'Avé PHP ?

    Merci à vous en tout cas !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Pour Andry
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function minifenetres (nb) {
    	// Pour les 8 blocs	
    	for(i=0; i<=nb-1; i++) {
    		var obj=document.getElementById("mf"+(i+1)).style;
    		(obj.visibility=(obj.visibility='visible')?'hidden':'visible';
    	}
    }

  7. #7
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Pour Andry
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function minifenetres (nb) {
    	// Pour les 8 blocs	
    	for(i=0; i<=nb-1; i++) {
    		var obj=document.getElementById("mf"+(i+1)).style;
    		(obj.visibility=(obj.visibility='visible')?'hidden':'visible';
    	}
    }
    petit correction == au lieu du =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function minifenetres () {
    	menuParent=document.getElementById("image_accueil");
    	menuEnfants=menuParent.getElementsByTagName("div");
    	for(i=0; i<menuEnfants.length; i++) {
    		var obj=menuEnfants[i].style;
    		obj.visibility=(obj.visibility=='visible')?'hidden':'visible';
    	}
    }

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    arf oui ... bon c'est vendredi fin de journée...

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

Discussions similaires

  1. [XL-2010] Boucle qui ne fonctionne pas
    Par phileurof dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/07/2013, 12h19
  2. Macro EXCEL - Boucle qui ne fonctionne pas
    Par babouchka01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/10/2011, 11h24
  3. [MySQL] boucle qui ne fonctionne pas dans autocompletion
    Par groskanel dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/08/2010, 14h56
  4. Range.Offset(1) dans une boucle qui ne fonctionne pas
    Par Pierre.g dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/08/2008, 11h58
  5. [MySQL] Boucle qui ne fonctionne pas bien que la 1ère fois
    Par R.L. dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/05/2006, 21h59

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