我想要实现的目标:
当光标悬停在图片上时(鼠标悬停),首先进行图像交换,然后在单击图片时(鼠标按下单击)进行第二次图像交换。
示例:
我有一张绿色箭头的图片。当鼠标悬停时,它被交换为黄色箭头的图片,当点击时,它被交换为棕色箭头的图片(只要单击保持)。默认的绿色箭头始终会被恢复。
<img src="green-default.png" />
<img src="yellow-over.png" />
<img src="brown-mousedownclick.png" />
我尝试过的方法:
我使用了一个基于鼠标悬停事件的jQuery图像替换方法:
https://github.com/tszming/jquery-swapimage
示例
<script type="text/javascript">
jQuery.swapImage(".swapImage");
</script>
<img src="green-default.png" class="swapImage {src: 'yellow-over.png'}" />
希望能得到任何建议。
已接受的解决方案
Senad的解决方案(下面)使用了CSS而不是jQuery。链接元素被赋予一个类,该类将其样式设置为与交换的图像尺寸相同的块。这三个图像被应用为链接元素的默认、悬停和活动状态的背景图像。Senad的解决方案和演示代码如下所示。