Javascript 强制加载图像以停止闪烁?

Javascript 强制加载图像以停止闪烁?,javascript,jquery,html,css,image,Javascript,Jquery,Html,Css,Image,当使用jQuery.hover函数切换出两个图像时,我经常发现它们在第一次加载时会闪烁。我认为这是因为这两个页面中的第二个没有与主页一起加载,因此转换不是完全平滑的,并且有轻微的闪烁 理论上,这应该可以通过放置一个1px×1px的图像来纠正,显示:无;设置为Styleing,在加载主页时加载图像,从而同时缓存图像并消除闪烁 但是,我想知道是否有其他/更好的解决方案常用于强制加载图像,因为肯定不是只有我一个人有这个问题 任何意见或建议都将不胜感激。防止悬停图像闪烁的更好方法是使用 即使您决定使用J

当使用jQuery.hover函数切换出两个图像时,我经常发现它们在第一次加载时会闪烁。我认为这是因为这两个页面中的第二个没有与主页一起加载,因此转换不是完全平滑的,并且有轻微的闪烁

理论上,这应该可以通过放置一个1px×1px的图像来纠正,显示:无;设置为Styleing,在加载主页时加载图像,从而同时缓存图像并消除闪烁

但是,我想知道是否有其他/更好的解决方案常用于强制加载图像,因为肯定不是只有我一个人有这个问题


任何意见或建议都将不胜感激。

防止悬停图像闪烁的更好方法是使用


即使您决定使用JavaScript实现悬停效果,尽管使用纯CSS完全可以实现悬停效果,但在需要显示第二个悬停图像时,您仍然可以加载该图像。

您只需使用以下内容预加载它:

var preloadImg = new Image()
preloadImg.src = "/path/to/image.jpg"

然后,如果它仍然闪烁,创建两个包含每个图像的HTML节点,然后在它们之间切换。

正如holodoc CSS sprites已经回答的那样,这将对您有很大帮助


是否只使用jQuery.hover进行图像切换?如果是,您可以使用CSS:hover伪选择器。

请不要提供w3schools.com,这将是更好的参考。如果您选择一种仅使用CSS的方法,这通常是一个好主意,请注意IE6除了标记外,不支持:hover伪类。w3schools到底是一个不好的参考吗?这是一个很好的起点,即使一些人认为这是一个不好的参考,答案仍然给出了搜索CSS精灵的最重要关键字。@mu太短了:同意!为了公众的利益,我将把这个链接留在这里:@holodoc:w3schools总是在你用谷歌搜索某物时最先出现的搜索结果之一,但这并不意味着它是一个好的参考。这只是意味着他们擅长为谷歌优化。但是W3S充满了错误,并且经常使不良实践永久化。请参阅我在上面链接的站点上的完整解释,该站点还建议使用更好的SourcesNoIt来执行额外的活动,以避免图像切换,但无论如何还是要感谢您。