Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Заменить URl Картинки (https://javascript.ru/forum/misc/29327-zamenit-url-kartinki.html)

Хелпми 23.06.2012 21:02

Заменить URl Картинки
 
Подскажите пожалуйста почему не работает нижеприведенный код.
Заранее благодарен.


function ChangeURLPicture()
{
abz = document.getElementById("id");
if ( abz.src == "v1.jpg")
{abz.src = "v2.jpg";}
else { abz.src ="v1.jpg";}
}

melky 23.06.2012 21:06

может, потому, что код пытается получить картинку в тот момент, когда её ещё нет на странице?

... если вызывается в шапке, например.

Хелпми 23.06.2012 21:09

Нет. функция вызывается при клике.

melky 23.06.2012 21:11

Ну тогда ищите проблему в использовании - мы не телепаты, как личности у меня на аватарке.

Ибо всё работает. в функции я заменил только пути к картинкам.
<script>
function ChangeURLPicture()
{
abz = document.getElementById("id");
if ( abz.src == "http://javascript.ru/forum/images/reputation/reputation_minus.gif")
{abz.src = "http://javascript.ru/forum/images/reputation/reputation_plus.gif";}
else { abz.src ="http://javascript.ru/forum/images/reputation/reputation_minus.gif";}
}
</script>
<img id="id" onclick="ChangeURLPicture()">

Хелпми 23.06.2012 21:13

Допустим, такой код работает отлично:

function ChangePicture()
{
abz = document.getElementById("id");
if ( abz.border == "1px")
{abz.border = "5px";}
else { abz.border ="1px";}
}

Dim@ 23.06.2012 21:46

Хелпми,
либо ищите у себя в коде ошибку (не в первом примере и последнем ошибка явно не там) где-то или выложите побольше кода

lord2kim 23.06.2012 21:49

Цитата:

Сообщение от Хелпми (Сообщение 183596)
Допустим, такой код работает отлично:

function ChangePicture()
{
abz = document.getElementById("id");
if ( abz.border == "1px")
{abz.border = "5px";}
else { abz.border ="1px";}
}

либо ошибка в адресе изображений, либо ошибка в том, что код вызывается раньше, чем подгружается изображение...хотя в первом ошибка скорее всего...

Хелпми 23.06.2012 22:05

Выкладываю код полностью:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>change image</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="keywords" content="">
<meta name="description" content="">




</head>

<body>
<script>

function ChangeURLPicture()
{
abz = document.getElementById("id");
if ( abz.src == "v1.jpg")
{abz.src = "v2.jpg";}
else { abz.src ="v1.jpg";}
}
</script>
<img border="1px" onclick="ChangeURLPicture()" alt="рисунок1" id="id" src="v1.jpg">
</body>

</html>

Не знаю..
Менял пути к картинкам на абсолютные, картинка не меняется при клике и все тут.

bes 23.06.2012 22:24

Хелпми, пример melky только с src.
<img id="id" src="http://javascript.ru/forum/images/reputation/reputation_plus.gif" 

onclick="ChangeURLPicture()">
<script>
function ChangeURLPicture()
{
abz = document.getElementById("id");
if ( abz.src == "http://javascript.ru/forum/images/reputation/reputation_minus.gif")
{abz.src = "http://javascript.ru/forum/images/reputation/reputation_plus.gif";}
else { abz.src ="http://javascript.ru/forum/images/reputation/reputation_minus.gif";}
}
</script>

Dim@ 23.06.2012 22:26

<html>

<head>
<title>change image</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="keywords" content="">





</head>

<body>
<script>

function ChangeURLPicture()
{
abz = document.getElementById("id");
if ( abz.src == "http://www.castlesguide.ru/images/germany/castles/marienberg/04.jpg")
{abz.src = "http://www.gavailer.ru/i/journal/20100802203226.jpg"}
else { abz.src ="http://www.castlesguide.ru/images/germany/castles/marienberg/04.jpg"}
}
</script>
<img border="1px" onclick="ChangeURLPicture()" alt="l" id="id" src="http://www.castlesguide.ru/images/germany/castles/marienberg/04.jpg">
</body>

</html>


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