Пока вы можете использовать, используйте глобальную переменную, вам не нужно. Когда вы используете setAttribute/getAttribute, вы добавляете что-то, что появляется в качестве атрибута в HTML. Вы также должны знать, что добавление глобальной просто добавляет переменную в окно или навигатор или объект документа (я не помню, какой из них).
Вы также можете добавить его к самому объекту (то есть в качестве переменной, которая не видна, если html просматривается, но отображается, если вы просматриваете элемент html как объект в отладчике и смотрите на его свойства.)
Вот две альтернативы. 1 сохраняет альтернативное изображение таким образом, чтобы он был видимым в html, а другой - нет.
<!DOCTYPE html>
<html>
<head>
<script>
function byId(e){return document.getElementById(e);}
window.addEventListener('load', mInit, false);
function mInit()
{
var tgt = byId('ImageButton1');
tgt.secondSource = 'images/image2.png';
}
function byId(e){return document.getElementById(e);}
function action()
{
var tgt = byId('ImageButton1');
var tmp = tgt.src;
tgt.src = tgt.secondSource;
tgt.secondSource = tmp;
};
function action2()
{
var tgt = byId('imgBtn1');
var tmp = tgt.src;
tgt.src = tgt.getAttribute('src2');
tgt.setAttribute('src2', tmp);
}
</script>
<style>
</style>
</head>
<body>
<button onClick="action();">click me<img src="images/image1.png" width="16px" id="ImageButton1"></button>
<br>
<button onClick="action2();">click me<img id='imgBtn1' src="images/image1.png" src2='images/image2.png' width="16px"></button>
</body>
</html>
http://stackoverflow.com/questions/10465082/change-button-image-after-click-to-loading-and-then-with-another-image-after-1?rq=1 –
Вы забыли задать вопрос. – nnnnnn