ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

Замена картинки при щелчке и обратно при повторном

 

2970
удалён @Foggy
Мне нужно следующее...
Есть картинка... На неё нажимаешь - она заменяется на другую. Снова нажимаешь - она заменяется обратно. и чтобы таких щелчков могло быть сколько угодно и они менялись.
вот я попытался двумя вариантами, но так не хочет...
кстати, в яваскрипте я нуб)
<img src='картинка1' onclick="if(document.src=='картинка1') document.src=='картинка2'; else document.src='картинка1'; return false;">
<img src='картинка1' onclick="if(document.this.src=='картинка1') document.this.src=='картинка2'; else document.this.src='картинка1'; return false;">

сори если повторяю тему... поиском ничего дельного не нашёл...
Помогите, пожалуйста

2536
удалён @crigon
<img src='картинка1' onclick="if(this.src=='картинка1') this.src=='картинка2'; else this.src='картинка1';">

2970
удалён @Foggy
не хочет заменяться картинка 🙁

2536
удалён @crigon
Попробуй абсолютный путь в src вместо относительного

Отредактировано crigon - 07.11.2009
2970
удалён @Foggy
у меня абсолютный и стоит

4875
ValdeZ @ValdeZ
if(this.src=='картинка1') { this.src=='картинка2'; } else this.src='картинка1';
- там по-моему скобки должны быть, или я ошибаюсь?

2970
удалён @Foggy
так тоже не хочет 🙁

Отредактировано Foggy - 07.11.2009
2536
удалён @crigon
Foggy, ну попробуй document.getElementById('id').src вместо this.src
Если во фрейме parent.frame.document...
Вместо id - id элемента img (id="что-то")

Вроде бы нет ошибки

6600
Александр @admiral
<script language="JavaScript">
var img1="картинка1";//Рисунок номер 1
var img2="картинка2";//Рисунок номер 2
new Image().src=img2;
function imgzamena(cl){
if(cl){
document.all.img.src=(document.all.img.src==img1)? (img2): (img1);
}
}
document.write("<img name='img' src='"+img1+"' onClick='imgzamena(true)' >");
</script>

Еще один вариант:
<img src="картинка1" onclick=imgchange(this,"картинка1","картинка2")>
<script language="JavaScript">
var imgzamena=false
function imgchange(obj,img1,img2) {
if (imgzamena){
obj.src=img1
} else {
obj.src=img2
}
imgzamena=!imgzamena
}
</script>

И не забывайте, что каждой паре нужно присваивать свои переменные!
PS пути до картинок могут быть как короткими так и полными

2536
удалён @crigon
ridz подсказал ошибку)) <img src='картинка1' onclick="if(this.src=='картинка1') this.src=='картинка2'; else this.src='картинка1';">
т.е. <img src='картинка1' onclick="if(this.src=='картинка1') this.src='картинка2'; else this.src='картинка1';"> должно работать

2970
удалён @Foggy
Пришлось к ridz'у в чат идти, чтобы он помог) Но он реально спас) Огромное ему спасибо) И вам crigon и admiral спасибо за попытки и варианты) Вы все мне здорово помогли) Эту фичу я много где на сайте использовать буду, потому сайт теперь значительно динамичнее) Спасибо)
<off... sorry>А для чего тему закрыли? А для чего тему открыли?</offtop>

4875
ValdeZ @ValdeZ
Ну так выложи код этой штуки 😀

2970
удалён @Foggy
crigon выше выложил
<img src='картинка1' onclick="if(this.src=='картинка1') this.src='картинка2'; else this.src='картинка1';">

Всё работает на отлично)