【发布时间】:2014-04-02 23:42:44
【问题描述】:
我的页面上有一些复杂的 div 结构,我想切换一些图像(悬停时),但我无法直接使用 css 设置悬停,因为我想要悬停的图像位于另一个透明图像的后面。因此我在顶部创建了透明覆盖。当overlay悬停时,切换指定div的背景。
HTML:
<div id="image"></div>
<div id="overlay"></div>
CSS:
#image {
position: absolute;
width: 300px;
height: 300px;
background: url(myImage.jpg);
}
#overlay {
position: absolute;
width: 300px;
height: 300px;
}
这里是 jQuery 进行切换:
$(function() {
$("#overlay").hover(function() {
$("#image").css({
"background": "url(myNewImage.jpg)"
});
}, function() {
$("#image").css({
"background": "url(myImage.jpg)"
});
});
});
它可以毫无问题地切换图像。问题是在切换图像时会有一点延迟,因此在片刻(不到一秒)您可以看到空白背景(当#image div 没有填充任何图像时)。
另一方面,当你使用没有 jQuery 的纯 CSS 来切换像这样的图像时(这是 在这种情况下是不可能的)那么就不会有这样的延迟。
那么,使用 jQuery,你将如何防止这种延迟发生呢?或者有没有更好的方法来解决这个问题?
【问题讨论】:
标签: javascript jquery html css