Intercambiar 2 imágenes al clickear en ellas

publicado por: Anonymous

Éste es mi código. Necesito que al clickear en una primera imagen y luego en una segunda, las intercambie. Consigo que me lea el src de las imágenes, pero no sé como intercambiarlos.
Gracias

<script type="text/javascript"> 

// función que se ejecute al darle clic a cada una de las imágenes
// pasamos como atributo a la función la palabra reservada this que hace referencia al propio elemento

function cambiar(imagen) {

    var anterior = "";
    var aux = "";

    if(anterior != ""){
        aux = anterior;
        anterior = imagen.src;  //obtenemos la ruta de la imagen con imagen.src
    }else{
        anterior = imagen.src;
    }

    console.log("Anterior: " + anterior);
    console.log("Auxiliar: " + aux);

    //obtener el atributo src de la imagen que has clicado. una vez obtengas la ruta de la imagen en la que acabas de hacer clic, se la puedes asignar a la imagen 2    
} 

</script>

<body>

    <img id="myImage" src=".images_ex21.jpg" alt="arte abstracto" onclick="cambiar(this)" name="canvi">  
    <img id="myImage" src=".images_ex22.jpg" alt="arte abstracto" onclick="cambiar(this)" name="canvi">  
    <img id="myImage" src=".images_ex23.jpg" alt="arte abstracto" onclick="cambiar(this)" name="canvi">  

</body>

solución

Esto te funcionara:

<script> 
var img = {src:"", id:""};

function cambiar(imagen) {
    if(img.src=="" && img.id==""){
        img.src=imagen.src;
        img.id=imagen.id;
    }
    else{ 
        var aux = imagen.src;

        document.getElementById(imagen.id).src = img.src;
        document.getElementById(img.id).src = aux;

        img.src = ""; img.id="";
    }
} 
</script>

Procura que los id de las imagenes sean distintos

<body>

<img id="myImage1" src=".images_ex21.jpg" alt="arte abstracto" onclick="cambiar(this)" name="canvi">  
<img id="myImage2" src=".images_ex22.jpg" alt="arte abstracto" onclick="cambiar(this)" name="canvi">  
<img id="myImage3" src=".images_ex23.jpg" alt="arte abstracto" onclick="cambiar(this)" name="canvi">  

</body>
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *