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>

Dim@ 23.06.2012 22:28

Хелпми,
если вы кидаете с компа рисунки вы точно используете протокол file:/// ?

bes 23.06.2012 22:35

Dim@, для таких масштабных примеров можно добавить в bb-тег html height=500

Deff 23.06.2012 22:35

<img id="id" src="http://javascript.ru/forum/images/reputation/reputation_plus.gif"  alt="http://javascript.ru/forum/images/reputation/reputation_plus.gif" onclick="ChangeURLPicture(this)">

<script>
function ChangeURLPicture(a) {
var  b=a.alt.replace("_plus","_minus");
if ( a.src == a.alt) { a.src = b;} else { a.src = a.alt;}
}
</script>


:) Выпендриваюсь ...

Хелпми 23.06.2012 22:37

Поменял адреса картинок на абсолютные, которые выдал браузер на запрос( правой кнопкой мыши по картинке, свойства ). Все заработало!!!
Всем спасибо за советы.

Хелпми 23.06.2012 22:47

А точнее так (вроде даже понимаю почему )
<script>
function ChangeURLPicture()
{
abz = document.getElementById("id");
if ( abz.src == "file:///C:/Documents%20and%20Settings/User/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%8 1%D1%82%D0%BE%D0%BB/www/NewPj/v1.jpg")
{abz.src = "v2.jpg";}
else { abz.src ="v1.jpg";}
}
</script>
<img id="id" onclick="ChangeURLPicture()" alt="" src="v1.jpg">

Deff 23.06.2012 22:56

Цитата:

Сообщение от Хелпми
ile:///C:/Documents%20and%20Settings/User/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%8 1%D1%82%D0%BE%D0%BB/www/NewPj/v1.jpg

Ужос ... Ваще работа с локальной ссылкой компа возможна ток на денвере - для сети перезаливайте изо на хостинг изображений, к примеру сюда => http://uploads.ru/


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