Jquery 图像预加载问题(使用$(“img”).load()
在应用悬停效果之前,我使用load函数预加载图像Jquery 图像预加载问题(使用$(“img”).load(),jquery,Jquery,在应用悬停效果之前,我使用load函数预加载图像 $("img").load(function(){ //image preloading //some function & variable setting $listingItems.hover( function(){ //effect }, function(){ //effect back } )
$("img").load(function(){ //image preloading
//some function & variable setting
$listingItems.hover(
function(){
//effect
},
function(){
//effect back
}
)
}) // load
我的问题是,只有重新加载页面时效果才会起作用。当我第一次进入页面时,图像被加载,但没有悬停效果
$("img").load(function(){ //image preloading
//some function & variable setting
$listingItems.hover(
function(){
//effect
},
function(){
//effect back
}
)
}) // load
您可以在此处查看源代码:
我做错了什么?有人能帮忙吗?在执行函数之前,是否有其他简单的方法预加载图像?如果图像来自某些浏览器中的缓存,则不会触发
加载
事件,但有一种解决方法,可以通过检查.complete
属性并使用确保加载
事件处理程序只触发一次,如下所示:
$("img").one('load', function(){
//current code
}).each(function() {
if(this.complete) $(this).load();
});
如果图像是
.complete
(快速加载或从缓存加载),它将循环遍历图像。如果图像已经运行(快速加载),则触发加载
事件处理程序,而不是出汗,这就是问题所在。我的网站也有同样的问题。