Petit problème de script

Discussion dans 'Web, design' créé par DeScH, 29 Octobre 2007.

Statut de la discussion:
Fermée.
  1. Offline
    DeScH AstaLaVista
    Je voudrai changer une image lorsque je clique dessus, et la restaurer lorsque je reclique encore une fois


    function changeImage(original,replaced)
    {
    if(this.src==original){
    this.src = replaced;
    }
    else {
    this.src = original;
    }
    }

    <img src="images/hideMenu.gif" name="btnAffMenu" onclick="changeImage('images/hideMenu.gif','images/showMenu.gif')" width="12" height="32" id="btnAffMenu" />

    Quelqu'un saurait m'expliquer pourquoi ca ne fct pas?

    merci :)
    DeScH, 29 Octobre 2007
    #1
  2. Offline
    vitAl GamerZ2008
    Pour moi il y a 2 problèmes:
    1) le this de la fonction changeImage sors de nulle part non? Faut passer l'objet (dans ce cas l'image à la fonction).
    2) sous firefox, obj.src te renvoies le path complet du fichier /truc/bidule/image.gif

    Petite soluce (chez moi ça apsse donc ça doit etre idem pour toi, faudra juste que tu adaptes avec ton dossier images, chez moi j'avais mis els images et la source dans le même dossier) :

    Code:
     <html>
    <script type="text/javascript">
    function changeImage(obj,original,replaced)
    {
    temp = obj.src.split("/");
    if(temp[temp.length-1]==original){
    obj.src = replaced;
    }
    else {
    obj.src = original;
    }
    
    }
    </script>
    <body>
    <img src="1.JPG" name="btnAffMenu" onclick="changeImage(this,'1.JPG','2.JPG');"  id="btnAffMenu" />
    
    </body>
    </html> 
    vitAl, 29 Octobre 2007
    #2
Statut de la discussion:
Fermée.