Как получить источник изображения в JavaScript? - PullRequest
0 голосов
/ 23 июня 2010

Хочу сравнить, если выбранное изображение равно желаемому изображению .. Вот исходный код, но не работает

function mouseOut(txt){
var imgClick, imgOrig; imgClick = 'images/'+txt+'_onclick.png'; imgOrig   ='images/'+txt+'.png';
if(document.getElementById(txt).src == imgClick){return false;}
else {document.getElementById(txt).src = imgOrig};
}

Тогда на img

<a href = "#"><img src="images/leistungen.png" alt="leistungen" name="leistungen" width="162" height="38" id="leistungen"
onclick="MM_swapImage('home','','images/home_orig.png','philosophie','','images/philosophie.png','kontakt','','images/kontakt.png','body_layout','','images/body_leistungen.png',0)"
onmouseover="MM_swapImage('leistungen','','images/leistungen_onclick.png',1)"
onmouseout="mouseOut('leistungen')" /></a>

Мой вопрос снова:

if(document.getElementById(txt).src == imgClick)

Это неправильно, но я хочу сравнить, если текущее изображение (mouseover, onclick, onmouseout) совпадает с именем файла изображения

скажем, у меня есть эти изображения ... home.png и home_onclick.png изображение по умолчанию - home.png, если при onmouseover изображение изменится на home_onclick, а при наведении мыши оно изменится на home.png тогда и только тогда, когда событие onclick не будет запущено.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 01 июня 2012

Другой подход - проверить, содержит ли src imgClick

if(document.getElementById(txt).src.indexOf(imgClick) > 0){
    return false;
}
else {
    document.getElementById(txt).src = imgOrig;
}
0 голосов
/ 07 февраля 2011

SRC вернет полный путь к изображению.Следовательно, если вам нужно сравнить, поместите ваши значения imgClick как полные URL, а не как относительные.то есть imgClick = "http://www.mysite.com/images" +txt+'_onclick.png';

(вы также можете использовать window.location.protocol + "//" + window.location.host вместо вашего ситенама)

...