2015-05-03 135 views
2

我有这里的代码,我有一个滑块缩略图和滑块大图像将其下一个attr('src')从点击拇指,但我想改变该src只有当图像已经加载。这是我想出来的,到目前为止来源:如何检查图像url是否已经加载jQuery?

$('.thumb').click(function(){ 
    topImageSrc = $(this).data("bigimage"); 

    $(topImageSrc).load(function(){ 
     coverMain.attr('src',topImageSrc); 
     main.fadeOut("slow"); 
    }) 
}); 

可悲的是,这并不为topImageSrc的工作仅仅是一个路径变量的大图像,像这样:/uploads/largeimages/pic1.jpg

怎么可能我强制它加载,然后检查它是否完成,然后应用新图像?

回答

2

你可以这样说:

$('.thumb').click(function() { 
    topImageSrc = $(this).data("bigimage"); 
    var topImage = $('<img>').attr('src', topImageSrc); 
    $(topImage).load(function() { 
     coverMain.attr('src', topImageSrc); 
     main.fadeOut("slow"); 
    }); 
}); 

这将创建一个图像(而不会有任何附加的话),设置它的源到topImageSrc URL,并检查了load事件。

+0

我想这应该工作,但我得到'未捕获的错误:语法错误,无法识别的表达式:/ uploads/largeimages/pic1.jpg' – Xeen

+0

您是否直接添加该URL?好像你在URL中缺少引号*。 –

+0

'topImageSrc ='/uploads/largeimages/pic1.jpg';' –

相关问题