2014-03-25 69 views
0

使用jQuery,有没有办法检测何时加载完成一个特定的图像?我见过这个插件:http://desandro.github.io/imagesloaded/但这应该是一个简单的解决方案。我真的不想下载另一个插件。jQuery检测当一个图像加载 - 没有插件

用户点击此元素上:

<input type="file" /> 

jQuery函数图像放到这个元素:

<img src="" /> 

我要确定当图像加载完毕。这可以做到吗?谢谢。

+0

使用''? – kei

+0

@kei刚刚尝试了jquery中的等价物:'$('img')。load(function(){})'。没有开火。 – sterfry68

+0

尝试''('img')。on('load',function(){})'。也许值得尝试一下。 – kei

回答

1

我做了一个jsfiddle,真的很粗糙工作示例.load()工作here

HTML

<figure class="button">button</figure> 
<div id="imgload"></div> 

CSS

figure { 
    width: 50px; 
    height: 20px; 
    line-height: 20px; 
    background: #ccc; 
    text-align: center; 
} 

#imgload {display:none;} 

jQuery的

$('.button').on('click', function(){ 
    $('#imgload').html('<img src="http://placekitten.com/700/400"/>'); 

    $('#imgload img').load(function(){ 
     $('#imgload').fadeIn(400); 
    }); 
}); 

点击后,图像被放置在div然后在加载完成后,div淡入。因此它成功检测到图像加载完成的时间。我已经使用过这种技术了一百次。

编辑:把它清理一下

+0

嗯...似乎做我想做的事情。让我试试看。我没有想到将它放在'click'事件回调中。 – sterfry68

+0

你摇滚!那样做了。谢谢。 – sterfry68

+0

很高兴有帮助。 – robbclarke