Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Подмена картинки (http://forum.oszone.net/showthread.php?t=208550)

Smasher 08-06-2011 18:08 1690909

Подмена картинки
 
Целью является то, чтобы по клику картинка менялась с одной на другую и наоборот.
Вопрос: что я сделал в моём индусском коде не так?

Код:

<script>
function flip(n,c) {
    document.getElementById("flyer").innerHTML="<a href=\""+src+"\" onClick=\"flip('"+c+"','"+n+"');\"><img src=\""+(c=="/img/flyer.png" ? "/img/flyer_b.png" : "/img/flyer.png")+/></a>";
    }
</script>

<div id="flyer"><a onclick="flip('/img/flyer_b.png','/img/flyer.png');"><img src="/img/flyer.png"></a></div>

Так же я только что испробовал такой код:

Код:

<SCRIPT>
 function change()
      {
        if (document.getElementById("flyer").src == "/img/flyer.png") document.getElementById("flyer").src="/img/flyer_b.png";
        else document.getElementById("flyer").src="/img/flyer.png";
    }

</SCRIPT>

<a href="#" onclick="change();"><img id="flyer" src="/img/flyer.png" /></a>

Тоже никак.

Sham 08-06-2011 21:59 1691069

Атрибут img srс в JS по идее содержит полный путь к файлу, а у вас строковое сравнение с частью урла. Из-за этого там всегда false.

Выдирайте имя файла из пути в src и сравнивайте по имени файла.

Smasher 08-06-2011 22:26 1691093

Спасибо, вот так вроде работает :)
Код:

function change()
      {
        if (document.getElementById("flyer").src.split("/")[document.getElementById("flyer").src.split("/").length-1]=="flyer.png") document.getElementById("flyer").src="/img/flyer_b.png";
        else document.getElementById("flyer").src="/img/flyer.png";
    }


Sham 08-06-2011 23:40 1691132

indexOf попроще


Время: 07:53.

Время: 07:53.
© OSzone.net 2001-