我有一个页面,其中包含一个 div,当页面加载时必须通过 JS 调整其大小。为了做到这一点,我给它一个 760px 的“默认宽度”,然后运行以下代码:
function resizeList()
{
var wlwidth,iwidth,nwidth;
wlwidth = document.body.clientWidth - 200 - 60;
iwidth = 320;
nwidth = Math.floor(wlwidth / iwidth) * iwidth;
$('#list').css('width',nwidth);
}
$(document).ready(function(){
// if we're looking at a list, do the resize-thing, now and on window resize
if (window.location.pathname.toString().split('/')[1] == "list")
{
resizeList();
window.onresize = resizeList;
}
});
但是,页面可能需要一段时间才能加载,因为#list
div 包含大量图像。因此,只有在所有内容完成加载后,div 才会扩展以填充正确的宽度。我不能把它从$(document).ready
函数中取出,否则会出错,说 document.body 是未定义的。
有没有办法#list
在所有内容加载之前调整 div 的大小?
编辑
请参阅:http
://www.google.com/images?q=whatever
他们已经成功地实现了我想要做的事情。该列表在页面加载时立即正确调整大小,然后被填充。您可以通过调整窗口大小并观察元素平滑移动来告诉他们通过 JS 调整所有内容的大小。可悲的是,谷歌的 JS 并不是世界上最容易阅读的sigh