我有一个奇怪的问题:我有两个 div,一个菜单和一个内容
<div id="menu">
<a href="#" id="link1"> Link </a>
<a href="#" id="link2"> Link </a>
</div>
<div id="content">
</div>
当你点击一个链接时,div 会加载不同 html 文件的内容:
$('#link1').click(function() {
$('#content').load('page1.html');
}
$('#link2').click(function() {
$('#content').load('page2.html');
}
...它的工作原理:-)
这样#content会改变它的高度,因为它被 html 文件“填充”了,我希望#menu采用与#content相同的高度,所以我附加了
$("#menu").height($("#content").height());
在 click() 函数上,但 #content 的高度是在加载文件之前计算的,所以它不起作用。如何检测内容何时加载并在此之后调整大小?
PS:问题也出在页面加载上:我添加了
$('#prod1').click();
在 $(window).load 中,模拟点击第一个菜单项;#content填充正确,但高度计算错误..我尝试用console.log调试,跟踪div的高度,但它给了0,虽然我把它放在加载函数之后。
唯一(不好的)解决方案是使用setInterval函数,持续观察#content 的高度并在#menu 上设置相同的高度。