Javascript 获取文档加载时的图像高度
我想将div#top height设置为图像高度。我写道:Javascript 获取文档加载时的图像高度,javascript,jquery,html,Javascript,Jquery,Html,我想将div#top height设置为图像高度。我写道: $(document).ready(function() { setTopHeight(); }); /* * window resizing */ $(window).resize(function() { setTopHeight(); }); /* * setting #top height by banner height */ var setTopHeight = function() { var
$(document).ready(function() {
setTopHeight();
});
/*
* window resizing
*/
$(window).resize(function() {
setTopHeight();
});
/*
* setting #top height by banner height
*/
var setTopHeight = function() {
var bannerHeight = $('#banner-image').height();
$('#top').height(bannerHeight + 'px');
};
它可以调整大小,但在重新加载时不起作用。我试过这样的东西:
$(document).ready(function() {
setTimeout(function() {
setTopHeight();
}, 50);
});
这是可行的,但当然不是解决方案。有人能告诉我为什么console.log返回0吗
$(document).ready(function() {
console.log($('#banner-image').height());
});
.ready
无法工作,因为您的图像尚未加载。使用.load
.ready
无法工作,因为您的图像尚未加载。使用.load
$(文档)。就绪
在DOM就绪时触发,但图像可能仍在下载-因此还没有高度。您可以在图像上使用
$('#banner-image').on('load', function () {
setTopHeight();
})
$(document).ready
在DOM准备就绪时触发,但图像可能仍在下载中-因此还没有高度。您可以在图像上使用
$('#banner-image').on('load', function () {
setTopHeight();
})
作为事件处理程序.load()
是('load,function(){})上的.on的快捷方式。一旦图像/元素完全加载,它将被触发
例1:
$('#banner-image').load(setTopHeight);
例2
$('#banner-image').load(function(){
setTopHeight();
});
例3
$('#banner-image').on('load', setTopHeight);
作为事件处理程序.load()
是('load,function(){})
上的.on的快捷方式。一旦图像/元素完全加载,它将被触发
例1:
$('#banner-image').load(setTopHeight);
例2
$('#banner-image').load(function(){
setTopHeight();
});
例3
$('#banner-image').on('load', setTopHeight);
请改为尝试.load().ready()
请改为尝试.load().ready()
图像加载在文档之后的第二轮HTTP中。所以你需要听图像加载
$('#banner-image').load(setTopHeight);
图像加载在文档之后的第二轮HTTP中。所以你需要听图像加载
$('#banner-image').load(setTopHeight);
横幅图像是img标签的id还是图像包装div id?横幅图像是img标签的id还是图像包装div id?谢谢你和@eml Ivanov谢谢你和@eml Ivanov