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 :

Intervertir deux images


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    en formation
    Inscrit en
    Janvier 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Janvier 2016
    Messages : 47
    Points : 48
    Points
    48
    Par défaut Intervertir deux images
    Bonjour, je souhaite réaliser l'exercice suivant : Intervertir deux images lorsqu'on clique sur un bouton (Les 2 images ainsi que le bouton sont sur une même ligne dans trois cellules d'un même tableau) et lorsqu'on clique à nouveau les deux images reviennent à leur place d'origine.
    Ci-joint mon fichier.
    J'ai du mal à le réaliser, si quelqu'un veut bien me filer un coup de main, ce ne sera pas de refus.
    Merci d'avanceInversion images.htmlNom : image1.jpg
Affichages : 1291
Taille : 5,2 KoNom : image2.jpg
Affichages : 1275
Taille : 10,8 Ko

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 580
    Points
    580
    Par défaut
    Cette solution, peut-être?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function clickette () {
    document.getElementById("image1").className="propriete2";
    document.getElementById("image2").className="propriete1";
    }

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Bonjour,
    tu aurais pu mettre ton code directement dans ta discussion, ceci étant je reprend ta fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        function clickette ()
        {
            temp=document.getElementById('image1').src;
            document.getElementById('image1').src=document.getElementById('image2').src;
            document.getElementById('image2').src=temp;
        }
    et le HTML concerné
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
           <tr>
                <td class="propriete1" id="image1"></td> 
                <td>
                <div class="button"></div>
                <input type="Button" value="Switch image" onClick="clickette();"></td>
                <td class="propriete2" id="image2"></td> 
            </tr>

    Maintenant observons document.getElementById('image1').src, le résultat sera undefined car ton élément, pour rappel <td class="propriete1" id="image1"></td> n'a pas de propriété src.

    Comme tu travailles avec des images en background, autant modifier simplement la className de tes éléments.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function clickette()
    {
        var temp = document.getElementById('image1').className;
        document.getElementById('image1').className = document.getElementById('image2').className;
        document.getElementById('image2').className = temp;
    }
    Juste pour dire, ton code HTML est mal formé et à quoi te sert l'utilisation d'un <form> ?

  4. #4
    Membre du Club
    Homme Profil pro
    en formation
    Inscrit en
    Janvier 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Janvier 2016
    Messages : 47
    Points : 48
    Points
    48
    Par défaut
    Ça c'est de la réactivité ou je ne m'y connais pas ! Merci pour vos réponses.
    Je vais essayer tout cela et je vous redis.
    Merci

  5. #5
    Membre du Club
    Homme Profil pro
    en formation
    Inscrit en
    Janvier 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Janvier 2016
    Messages : 47
    Points : 48
    Points
    48
    Par défaut Intervertir des images
    Super, ça marche. Merci beaucoup.
    Je reviens à :"Juste pour dire, ton code HTML est mal formé et à quoi te sert l'utilisation d'un <form> ?"

    Concernant "<form>", c'est dans mes notes de cours à distance, je n'ai pas du bien comprendre sur le moment. (je vais voir un peu plus )
    Je veux bien toutes les critiques sur mon fichier html, en pièce jointe. Merci NoSmoking.
    Fichiers attachés Fichiers attachés

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Dans ta nouvelle mouture HTML à savoir
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        <body>
            <table border="1">
            <tr>
                <td class="propriete1" id="image1"></td> 
                <td>
                <div class="button"></div>
                <input type="Button" value="Switch image" onClick="clickette();">
                </td>
                <td class="propriete2" id="image2"></td> 
            </tr>
            </table> 
        </body>
    on notera rapidement
    • une <div> vide et l'utilisation d'un <input type="Button" à la place d'une balise <button> ;
    • <table border="1"> est à remplacer par du CSS car la propriété border est obsoléte ;
    • l'attribut language est déprécié dans la balise <script language="Javascript">, autant écrire simplement <script >.

  7. #7
    Membre du Club
    Homme Profil pro
    en formation
    Inscrit en
    Janvier 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Janvier 2016
    Messages : 47
    Points : 48
    Points
    48
    Par défaut
    Merci pour tes remarques.
    Tout à fait d'accord pour une <div> vide et l'utilisation d'un <input type="Button" à la place d'une balise <button> ;
    et l'attribut language est déprécié dans la balise <script language="Javascript">, autant écrire simplement <script >.
    Par contre, c'est encore dans le cours d'il y a 4 mois : "<table border="1">"
    Il avait créé un tableau de 4 lignes en tapant : <table border="4">. Donc, je prends note que c'est obsolète mais je vais l'utiliser lors de l'examen,
    je ne peux pas me permettre de le rater.
    Merci

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Il avait créé un tableau de 4 lignes en tapant : <table border="4">.
    il a créer une <table> dont l'épaisseur de la bordure est de 4px.

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

Discussions similaires

  1. [ImageMagick] Coller deux images
    Par Todd62 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 27/02/2006, 09h08
  2. [ImageMagick] Générer deux images à partir du même script
    Par molesqualeux dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/01/2006, 01h42
  3. [PIL] Difference entre deux images
    Par t_om84 dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 26/12/2005, 12h45
  4. superposer deux images ?
    Par terminoz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/08/2005, 09h04
  5. Réponses: 10
    Dernier message: 30/06/2005, 12h20

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