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 :

Images et ID


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut Images et ID
    Bonjour tout le monde,
    Alors voilà je souhaite que lorsque qu'on clic sur une image, celle ci soit changer par imagebis. Si on reclic sur imagebis, que ça redevienne image, le tout pour toutes les images qui ont un id défini.

    Je fais donc une boucle pour parcourir toutes les images de la page, si elles ont le meme genre d'id correspondant à l'image cliqué, alors je change l'img. Voici ce que je fais, mais je n'arrive pas a faire alert(tabImg[x].id) normal ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var tabImg = window.document.getElementsByTagName('img');
    			alert(tabImg.length);
    			for(j=0; j<tabImg.length;j++)
    			{
    				alert(tabImg[j].id);
    				if(	tabImg[j].id == temp)
    				{
    					tabImg[j].src = "media/kitplus.gif";
    	 		         }	
                          	}
    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par MasterChief78 Voir le message
    Voici ce que je fais, mais je n'arrive pas a faire alert(tabImg[x].id) normal ??
    à priori, non : pas normal.

    Es-tu sûr qu'aucun id n'est dupliqué dans ta page ?
    Cette phrase
    si elles ont le meme genre d'id correspondant à l'image cliqué
    me fait en douter ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    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 : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu es sûr que toutes les images de ta page ont un id ?
    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

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 101
    Points : 123
    Points
    123
    Par défaut
    C'est surtout la phrase "Le même genre d'ID", tu es toujours avec tes ids incrementaux ?

    le tout pour toutes les images qui ont un id défini.
    Précise

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Oui et oui ^^
    Voici comment est généré mon id d'image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ><img src="media/kitmoins.gif" id="cat<?php echo $i?>" onclick="fct()" />
    Et de ce que je vois sur la page générée aucun souci, j'ai bien id="cat0", id="cat1" et puis aussi des id="cat00", id=cat"01", etc mais tous sont uniques et toutes les images en possèdent un. Chaque image est dans une case de tableau.

    En fait c'est lié au problème que j'avais hier d'afficher cacher, bah en plus de ça je veux que l'image change ^^

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par lifty Voir le message
    C'est surtout la phrase "Le même genre d'ID", tu es toujours avec tes ids incrementaux ?

    Précise
    Oui toujours, mais en fait je me suis mal exprimé. Je boucle et je génère un string (temp) qui correspond peut être à un id d'image (ça peut être rien du tout aussi mais ça ça change rien). Si il correspond, je dois changer sa source.
    Donc du coup, je boucle sur toutes les images du doc, je compare entre l'id de l'image en question et temp, si c'est égal, je remplace.

  7. #7
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par MasterChief78 Voir le message
    en plus de ça je veux que l'image change ^^
    Ben le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tabImg[j].src = "media/kitplus.gif";
    est correct ...

    Il y a quoi dans "temp" ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Voilà le code de la boucle générale :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function affCache(num) {
     
    //* pour recuperer tous les elements dont l'id est 0 ou 0*
    //A voir si cela ne devrait pas être 0.+	
    var expReg ="^"+num+"*";
    table = document.getElementsByReg('tr','id',expReg);
    var temp ="";
    var temp2 = "";
     
    if((table[0].style.display == '') || !(table[0].style.display)){
    	for(i = 0; i < table.length; i++)
    	 {
     
     
    			table[i].style.display = 'none';
    			temp2 = table[i].id;
    			temp2 = temp2 + "";
    			temp2 = temp2.substr(0, table[i].id.length-1);
    			temp = "cat" + temp2;
    			var tabImg = window.document.getElementsByTagName('img');
    			alert(tabImg.length);
    			for(j=0; j<tabImg.length;j++)
    			{
    				alert(tabImg[j].id);
    				if(	tabImg[j].id == temp)
    				{
    					tabImg[j].src = "media/kitplus.gif";
    	 			}	
    	} 
    }
     
    else { 
     
    }
     
    }
    Si je fais alert(temp) j'ai les résultats attendu : des chaines qui correspondent à un id d'img dans la page, et d'autres qui ne veulent rien dire.
    alert(tabImg.length); m'affiche bien le bon nombre !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 101
    Points : 123
    Points
    123
    Par défaut
    Si je reprends ce que l'on a vu hier, tu n'as pas besoin de changer toutes tes images , car si mes souvenirs a courts terme sont bons tu masques tout ce qu'il y a en dessous du bouton.

    Il te suffit donc de ne changer que le bouton sur lequel tu cliques, les autres n'étant pas affichés.

    Je prends l'exemple basique du + et du -, lorsque tu cliques sur clique sur le plus cela affiche les lignes masquées et sur le - cela les cache.
    Comme tu n'as pas de nom pour tes images tu peut faire un truc comme ça
    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
     
    function affCacheLeRetour(imgEl){
     
      if(imgEl.name == "+"){
         imgEl.src="unJoli+.png"
      }
      else if(imgEl.name == "-"){
        imgEl.src="unJoli-.png"
      }
      else{
        alert("Je sais pas coder en javascript :D");
      }
     
    }
     
    <img name="-" src="media/kitmoins.gif" id="cat<?php echo $i?>" onclick="fct(); affCacheLeRetour(this)" />
    Si je me trompe pas (ce qui peut arriver) et si j'ai bien compris ce que tu veut faire au final, tu n'as pas besoin de faire de boucle sur toutes les images


    edit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function affCache(num) {
     
    //* pour recuperer tous les elements dont l'id est 0 ou 0*
    //A voir si cela ne devrait pas être 0.+	
    var expReg ="^"+num+"*";
    Tu peut retirer ce commentaire il n'a plus lieu d'être par contre tu peut le commenter pour toi si tu veut comprendre quelque chose quand tu reviendra sur ce code plus tard

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par lifty Voir le message
    Si je reprends ce que l'on a vu hier, tu n'as pas besoin de changer toutes tes images , car si mes souvenirs a courts terme sont bons tu masques tout ce qu'il y a en dessous du bouton.

    Il te suffit donc de ne changer que le bouton sur lequel tu cliques, les autres n'étant pas affichés.

    Je prends l'exemple basique du + et du -, lorsque tu cliques sur clique sur le plus cela affiche les lignes masquées et sur le - cela les cache.
    Comme tu n'as pas de nom pour tes images tu peut faire un truc comme ça
    Effectivement je vais tester cette solution, d'ailleur mon truc marche a peu pret maintenant c'est bon ^^

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Merci tout le monde pour vos réponses super rapides, ça marche

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

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46
  3. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

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