2009-05-29 3 views
1

Je rencontre un problème avec l'échange d'images dans IE6. Fonctionne bien dans tous les navigateurs sauf celui-là.Jquery + clic + échange d'images + IE6 = Je déteste ce navigateur

Voici le code suivant:

$(function() { 
    $("#image1").click(function() { 
     $(this).attr('src', '/v12/images/small/sm-wall-1-on.png');      
     $('#image2').attr('src', '/v12/images/small/sm-wall-2.png'); 
     $('#image3').attr('src', '/v12/images/small/sm-wall-3.png'); 
    }); 
});     

Ensuite, voici le code HTML

<li style="padding:3px;"><img id="image1" src="/v12/images/small/sm-wall-1-off.png" style="border:0px; width:95px; height:75px;" class="pngfix" alt="" /></li> 
<li style="padding:3px;"><img id="image2" src="/v12/images/small/sm-wall-2-selected.png" class="pngfix" style="border:0px; width:95px; height:75px;" class="pngfix" alt="" /></li> 
<li style="padding:3px;"><img id="image3" src="/v12/images/small/sm-wall-3.png" class="pngfix" style="border:0px; width:95px; height:75px;" class="pngfix" alt="" /></li> 

Donc, fondamentalement, si je clique sur l'une des images que je veux échanger les autres avec celui Je viens de cliquer. IE6 cache toutes les images dès que j'effectue le clic.

Pensées?

+0

Pourrait-il être lié à la classe "pngfix" que vous avez sur les images, que fait cette classe et avez-vous du code JS associé? – duckyflip

+0

Je suis tellement chanceux que notre client a finalement supprimé l'exigence IE6 de nouveaux projets :) – OregonGhost

Répondre

0

Au lieu d'utiliser les balises img, vous pouvez utiliser une durée d'une classe CSS contenant l'attribut image d'arrière-plan, alors votre fonction de clic suffit de changer la classe.

Fondamentalement, le même concept que CSS Sprites, mais au lieu de changer la position de l'image de fond, vous changez l'URL. Je l'ai déjà utilisé dans IE6, et ça a bien fonctionné.

Questions connexes