いくつかのメモ:
各画像にid
属性を指定するdocument.getElementById
と、ページが読み込まれたときにその要素への参照を取得するために使用できます。
次にsrc
、その要素のプロパティを新しいURLに設定して、画像を変更できます。
script
必要なときに要素が存在するように、タグがHTMLの要素の後にあることを確認してください(終了が機能する直前</body>
)。
click
ページ上の任意の要素にイベントハンドラーを追加できます。ほとんどのブラウザはサポートしていますが、一部の古いバージョンのIEでは、ハンドラーを接続するaddEventListener
ために使用する必要があります。attachEvent
したがって、次のような関数を持つ人々が表示されます。
function hookEvent(element, eventName, handler) {
if (element.addEventListener) {
element.addEventListener(eventName, handler, false);
}
else if (element.attachEvent) {
element.attachEvent("on" + eventName, handler);
}
else {
element["on" + eventName] = function(event) {
return handler.call(this, event || window.event);
};
}
}
したがって、たとえば、これがある場合img
:
<img id="myImage" src="/path/to/img.png">
これにより、クリックすると4つの画像が循環します。
<!-- This must be AFTER the `img` above in the HTML,
just before your closing /body tag is good -->
<script>
(function() {
var myImage = document.getElementById("myImage"),
images = [
"/path/to/img1.png",
"/path/to/img2.png",
"/path/to/img3.png",
"/path/to/img4.png"
],
index = -1;
hookEvent(myImage, "click", imageClick);
function imageClick() {
++index;
if (index >= images.length) {
index = 0;
}
myImage.src = images[index];
}
})();
</script>
jQuery、YUI、Closure、またはその他のいくつかの適切なライブラリを使用して、多くのユーティリティ機能を取得し、ブラウザの違いをスムーズにすることができますが、ページで実行したいのは、画像を時々変更してクリックを処理することだけです。 2つ、それはやり過ぎかもしれません。