先前所有答案的问题在于,悬停图像未随页面一起加载,因此当浏览器调用它时,加载时间很长,整个外观看起来并不好。
我要做的是将原始图像和悬停图像放入1个元素中,并首先隐藏了悬停图像。然后在悬停时,我显示悬停图像并隐藏旧的图像,在悬停时,我执行相反的操作。
HTML:
<span id="bellLogo" onmouseover="hvr(this, 'in')" onmouseleave="hvr(this, 'out')">
<img src="stylesheets/images/bell.png" class=bell col="g">
<img src="stylesheets/images/bell_hover.png" class=bell style="display:none" col="b">
</span>
JavaScript / jQuery:
function hvr(dom, action)
{
if (action == 'in')
{
$(dom).find("[col=g]").css("display", "none");
$(dom).find("[col=b]").css("display", "inline-block");
}
else
{
$(dom).find("[col=b]").css("display", "none");
$(dom).find("[col=g]").css("display", "inline-block");
}
}
对我来说,这是最简单,最有效的方法。