我想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、更少的相同重复脚本和更短的内联代码。
但我也希望能够灵活地更改图像及其 ID,而不是使用 JQuery 或其他脚本大惊小怪。这就是我使用getElementById
.
有没有更有效的方法来编写 JavaScript 和/或内联代码?
还
动画停止播放后,有没有办法让图像切换回原始图像,而不是鼠标移出?