Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите пожалуйста почему не работает. (https://javascript.ru/forum/misc/25643-podskazhite-pozhalujjsta-pochemu-ne-rabotaet.html)

gheka 11.02.2012 18:30

Подскажите пожалуйста почему не работает.
 
Здравствуйте есть скрипт меняющий картинки с одной на другую но почему то он не работает вот сам скрит.
Ссылка:

<img SRC='image_s/1.gif' id='imgr" . $id_g ['id'] . "' onclick=imgchange(" . $id_g ['id'] . ")>
Скрипт:

function imgchange(id_g) {

 if (document.getElementById("imgr"+id_g).src.indexOf("../themes/image/1.gif")>0){
 document.getElementById("imgr"+id_g).src = "../themes/image/2.gif";
 } else {
 document.getElementById("imgr"+id_g).src = "../themes/image/1.gif";
 }

}


Подскажите пожалуйста что не так сделано?

Mахmахmахimus 11.02.2012 18:48

что за "' перед onclick ?

Gvozd 11.02.2012 19:06

Цитата:

Сообщение от Mахmахmахimus
что за "' перед onclick ?

PHP, скорее всего.
А ты разве не серверную сторону своей социалки пишешь, что не признал PHP?
Кстати, а чем обоснован выбор версии PHP/5.4.0RC7-dev ?
Как по-мне, RC-версии любого софта ставить на Production-сервер посещаемого ресурса нужно, только если в этом есть острая необходимость, и решение тщательно взвешено и протестировано

gheka 11.02.2012 19:11

Цитата:

Сообщение от Mахmахmахimus (Сообщение 156779)
что за "' перед onclick ?

Это вставлена PHP переменная которая передаёт уникальное число:

'imgr" . $id_g ['id'] . "'


получается имя вот так imgr1 или imgr23 и т.д

Сам скрипт написан на PHP и в него уже вставлен javascript

Gvozd 11.02.2012 19:40

Если $id_g ['id'] не равно пустой строке, то должно работать
Только условие лучше ставить не >0, а >=0, иначе ../themes/image/1.gif будет также заменятся на ../themes/image/2.gif

Mахmахmахimus 11.02.2012 19:52

Цитата:

Сообщение от Gvozd
А ты разве не серверную сторону своей социалки пишешь, что не признал PHP?
Кстати, а чем обоснован выбор версии PHP/5.4.0RC7-dev ?


налейте мне того же

gheka 11.02.2012 20:37

Цитата:

Сообщение от Gvozd (Сообщение 156802)
Если $id_g ['id'] не равно пустой строке, то должно работать
Только условие лучше ставить не >0, а >=0, иначе ../themes/image/1.gif будет также заменятся на ../themes/image/2.gif



Скрипт:

function imgchange(id_g) {

 if (document.getElementById("imgr"+id_g).src.indexOf("../themes/image/2.gif")>-1){
 document.getElementById("imgr"+id_g).src = "../themes/image/1.gif";
 } else {
 document.getElementById("imgr"+id_g).src = "../themes/image/2.gif";
 }

}

Вот так работает но только при нажатии один раз картинка меняется а при повторном нажатии картинка не заменяется на старую.
Даже не знаю что такое. Может что то нужно дописать?

gheka 11.02.2012 22:07

Разобрался оказывается ссылка на картинку не верная была в indexOf

function imgchange(id_g) {

 if (document.getElementById("imgr"+id_g).src.indexOf("themes/image/2.gif")>-1){
 document.getElementById("imgr"+id_g).src = "../themes/image/1.gif";
 } else {
 document.getElementById("imgr"+id_g).src = "../themes/image/2.gif";
 }

}

Вот работает может кому нибудь пригодится.


Часовой пояс GMT +3, время: 14:52.