替代图像的setTimeout

时间:2014-11-19 09:06:07

标签: javascript settimeout

如果我想使用javascript创建一个高(响应)图像的div,我会使用setTimeout。例如,我可能有像这样的代码

setTimeout(function(){
    var $imgheight = $('img').height();
    $('.mydiv').height($imgheight);
}, 400);

有替代方案吗?我知道imagesloaded插件,有没有更简单的替代方案?

非常感谢

2 个答案:

答案 0 :(得分:1)

您可以使用load事件来了解图片的加载时间:

$('img').on('load', function(){
    $('.mydiv').height(this.height);
});

http://jsfiddle.net/083d89me/

虽然我没有看到设置div高度的需要。默认情况下它不会自动调整到图像高度吗?

答案 1 :(得分:0)

嗯,你不想创建一个新的div只是为了改变现有的div,所以请更改说明。

请使用@filur的答案根据加载的图像设置高度,然后为window.resize事件添加eventListener:)

$(window).on('resize', function(){ ... });