2013-03-01 5 views
1

Я хочу использовать изображение под названием #MapButtonImage как «кнопка», поэтому, когда кто-то нажимает на него, отображается div и изменяется источник #MapButtonImage. Я сделал это так, что он показывает DIV следующим образом:Изменить источник изображения

$(window).load(function(){ 
    $("img#MapButtonImage").click(function(){ 
    $("div.MapMain").toggleClass('MapMainShow'); 
    }); 
}); 

При нажатии на кнопку в тот момент, он меняет класс карты дел до отображения: блока, то второй щелчок восходит к значение по умолчанию: none.

Но я не могу заставить его изменить источник изображения с помощью jQuery. Я следовал руководству, используя переключатель из двух функций с источником, как два изображения, которые я хочу, но он работает только с более ранней версией jQuery и не последним.

Изображение #MapButtonImage имеет оригинальный источник «ShowMapButton.jpg», и я хочу изменить его на «HideMapButton.jpg», когда он нажимается, а затем снова на «ShowMapButton.jpg» при повторном нажатии.

Цель состоит в том, чтобы включить его в качестве переключателя, чтобы отображать под ним карту div, а изображение отражает действие, которое будет выполнять кнопка (показать или скрыть).

Любая помощь будет принята с благодарностью, я совершенно новичок в этом и не могу понять, почему она не работает в последней версии, но делает это в предыдущем.

+0

ли вы попробовать '$ ('#') MapButtonImage Attr ('SRC', 'NEWURL');' – Blazemonger

+0

Почему бы не использовать 'button' элемент и изменить фон. URL? –

ответ

1

Попробуйте это:

$(window).load(function(){ 
    $("img#MapButtonImage").click(function(){ 
    $("div.MapMain").toggleClass('MapMainShow'); 

    if($("div.MapMain").hasClass('MapMainShow')) { 
     $(this).attr('src', 'HideMapButton.jpg'); 
    } else { 
     $(this).attr('src', 'ShowMapButton.jpg'); 
    } 
    }); 
}); 
+1

['.attr()'] (http://api.jquery.com/attr) более подходит, чем '.prop()' в этом случае. – Blazemonger

+0

Это прекрасно, спасибо огромное! У меня только одна проблема с моим кодом сейчас, и это то, что эта часть jquery не работает в IE8, есть ли очевидный ответ, почему это было бы без просмотра всего кода? Он отлично работает в последних версиях Chome и Firefox. В очередной раз благодарим за помощь. – user2124044

Смежные вопросы