我有一个页面,其中菜单按钮(图像)是白色的,但我希望它们在悬停时变为红色并在鼠标输出时返回白色。所以我有相应的红色菜单按钮。所以如果白色按钮是motors1.jpg,红色按钮是motors2.jpg,因此下面的JQuery代码是算法。
<table>
<tr>
<td><img class="navimg" src="images/home1.gif"/></td>
<td><img class="navimg" src="images/motors1.gif"/></td>
<td><img class="navimg" src="images/about_us1.gif"/></td>
<td><img class="navimg" src="images/media1.gif"/></td>
<td><img class="navimg" src="images/forums1.gif"/></td>
<td><img class="navimg" src="images/dealers1.gif"/></td>
<td><img class="navimg" src="images/whats_new1.gif"/></td>
</tr>
</table>
Jquery 代码是:
$(document).ready(function(){
$('.navimg').mouseover(function(){
source=$(this).attr('src').replace('1','2');
$(this).attr('src',source);
}).mouseout(function(){
source= source.replace('2','1');
$(this).attr('src',source);
});
});
我使用外部 CSS 样式表进行定位
.navimg{
width: 125.5px;
height: 34px;
}
所以问题是:我注意到第一次加载页面时白色按钮变为红色按钮时存在延迟。我认为滞后是因为红色按钮未在页面加载时加载(因此不在浏览器缓存中),因此 jquery 代码重新加载它们。因此,通过将它们加载为隐藏输入、将它们加载到浏览器缓存来解决此问题的任何方法都将受到赞赏或任何其他解决此问题的方法。