の1つの画像と、の別の画像をswapImage
交換するを自分のサイトに実装したかったのです。基本的に、私が見つけた解決策では、おそらく別の画像を交換することもできます。mouseover
mouseout
mousedown
mouseup
私はこれを8つの異なるネストされたタブで発生させており、それらはすべて同じページにあります。
javascriptは次のようになります。
<script type="text/javascript">
function swapImageFiat(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageHarley(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageHotWheels(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageVoltron(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageBenchmade(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageCrew(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageReuters(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function swapImageMarsVolta(imgID, imgSrc) {
var theImage = document.getElementById(imgID)
theImage.src = imgSrc;
}
function preLoadImages() {
for(var i = 0; i < arguments.length; i++) {
var theImage = new Image();
theImage.src = arguments[i];
}
}
</script>
また、各画像のインラインコードは、基本的に次のようになります。
<img class="diagram" src="img/fiat.gif" id="imgToSwapFiat" alt="Diagram" data-title="Fiat Diagram" onClick="swapImageFiat('imgToSwapFiat', 'img/fiat-animated.gif')" onmouseout="swapImageFiat('imgToSwapFiat', 'fiat.gif')" height="189" width="358" />
使用するIDを減らし、同じ繰り返しスクリプトを減らし、インラインコードを短くしたいと思います。ただし、JQueryやその他のスクリプトに煩わされることなく、画像とそのIDを変更
できる柔軟性も必要です。これが私が使用している理由ですgetElementById
。
そのJavaScriptやインラインコードを書くためのより効率的な方法はありますか?
また
マウスアウトではなく、アニメーションの再生が停止した後、画像を元の画像に戻す方法はありますか?