我正在处理一个图像预加载器,它将预加载页面上的所有图像。我的方法如下:
onDomReady,循环遍历$("*")
//当DOM准备好时,遍历所有元素
$(this).tagName.toLowerCase() == 'img'
,请阅读src
属性,并预加载该图片$(this).css("background-image") != "none"
,请阅读背景图片道具并预加载该图片我的问题是这种方法不适用于:hover类,它通常是需要预加载的图像。
我想做的是,在循环遍历所有元素的同时,检查:hover伪类的存在,然后检查该类的“background-image”属性的存在。 / p>
我真的很想坚持这种方法,因为它a)允许我不必明确指定我想要预加载的每个图像,以及b)在CSS中处理相对路径,如同阅读“ background-image“属性为我提供了相对于页面的路径。
所以,我的问题是:
是否可以使用jQuery读取元素的:hover伪类的CSS属性?如果没有,有什么建议吗?
谢谢!
答案 0 :(得分:3)
在加载页面以搜索所有DOM / CSS图像时,这将非常密集......在公共站点上可能不是一个好主意。一个很好的选择是利用图像精灵(http://www.google.com/images/nav_logo26.png)并用CSS定位它们
答案 1 :(得分:0)
听起来像精灵是解决这个问题的正确方法。但是如果由于某种原因无法实现它们,那么您要做的就是访问document.styleSheets集合来搜索规则,其中包括:将鼠标悬停在其中。 This page会让你开始。