如果我想使用javascript创建一个高(响应)图像的div,我会使用setTimeout。例如,我可能有像这样的代码
setTimeout(function(){
var $imgheight = $('img').height();
$('.mydiv').height($imgheight);
}, 400);
有替代方案吗?我知道imagesloaded插件,有没有更简单的替代方案?
非常感谢
答案 0 :(得分:1)
您可以使用load
事件来了解图片的加载时间:
$('img').on('load', function(){
$('.mydiv').height(this.height);
});
虽然我没有看到设置div高度的需要。默认情况下它不会自动调整到图像高度吗?
答案 1 :(得分:0)
嗯,你不想创建一个新的div只是为了改变现有的div,所以请更改说明。
请使用@filur的答案根据加载的图像设置高度,然后为window.resize事件添加eventListener:)
$(window).on('resize', function(){ ... });