Вот быстрая и грязная версия этой функциональности, которая на самом деле удобочитаема для людей:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
body {
margin-left: 100px;
margin-top: 100px;
background-image: url(Images/startile.gif);
}
</style>
<script type="text/javascript">
var Images = {
library: ['Images/sun.png', 'Images/whitedwarf.png', 'Images/planet.png'],
swap: function (element) {
var elementSrc = element.src,
i = 0,
libLength = this.library.length,
src = false;
for(; i < libLength; i++) {
src = this.library[i];
if(src === elementSrc) {
element.setAttribute('src', this.library[(i+1) % libLength]);
break;
}
}
}
}
</script>
</head>
<body>
<img src="Images/sun.png" width="500" height="500" id="Image1" onclick="Images.swap(this)" />
</body>
</html>
Используя этот код, вы можете добавить произвольное количество изображений, добавив их URL в Images.library
-array.В качестве подтверждения концепции я предоставил jsFiddle (площадка для HTML, JS и CSS).
Демонстрацию можно посмотреть здесь: http://jsfiddle.net/L6DW9/
РЕДАКТИРОВАТЬ Я также отредактировал недостающий фрагмент HTML-страницы, на случай, если вы только что скопировали все это.
EDIT2 : чтобы пропустить перенос, измените swap: function () {[...]}
на следующее:
swap: function (element) {
var elementSrc = element.src,
i = 0,
libLength = this.library.length,
src = false;
for(; i < libLength; i++) {
src = this.library[i];
if(src === elementSrc) {
if((i+1) >= libLength) {
element.onclick = false;
}
element.setAttribute('src', this.library[(i+1) % libLength]);
break;
}
}
}