Podczas gdy może użyć zmiennej globalnej, nie trzeba. Kiedy używasz setAttribute/getAttribute, dodajesz coś, co pojawia się jako atrybut w kodzie HTML. Musisz także mieć świadomość, że dodanie globusa po prostu dodaje zmienną do okna lub nawigatora lub obiektu dokumentu (nie pamiętam).
Można również dodać go do samego obiektu (tj. Jako zmienną, która nie jest widoczna, jeśli html jest wyświetlany, ale jest widoczna, jeśli element html jest wyświetlany jako obiekt w debugerze i przeglądany jest jego właściwości.)
Oto dwie alternatywy. 1 przechowuje alternatywny obraz w sposób, który spowoduje, że będzie widoczny w html, a drugi nie.
<!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 –
Zapomniałeś zadać pytanie. – nnnnnn