使jQuery等高脚本使用新内容重新计算

使jQuery等高脚本使用新内容重新计算,jquery,Jquery,我用它来获取主要内容和侧边栏,以匹配高度,效果很好。但是我现在正在更新一个成员目录页面,并且我已经设置了名称,以便在单击时从基本列表扩展到完整列表。但是,我无法让内容和边栏div与它们展开和收缩 下面是一个包含虚拟内容的示例页面:(注意:我知道我需要将这些onClick事件移动到它们自己的函数中,因为其他人创建了原始站点,所以我需要做一些清理) 我尝试将类“expand”添加到链接中,并使用以下命令调用函数: $(document).delegate('.expand', 'click', fu

我用它来获取主要内容和侧边栏,以匹配高度,效果很好。但是我现在正在更新一个成员目录页面,并且我已经设置了名称,以便在单击时从基本列表扩展到完整列表。但是,我无法让内容和边栏div与它们展开和收缩

下面是一个包含虚拟内容的示例页面:(注意:我知道我需要将这些onClick事件移动到它们自己的函数中,因为其他人创建了原始站点,所以我需要做一些清理)

我尝试将类“expand”添加到链接中,并使用以下命令调用函数:

$(document).delegate('.expand', 'click', function(){
$("#content, #sidebar, #content-sidebar-wrap").equalHeightColumns();
});
如果我删除对该函数的原始调用,则它只工作一次:

$(window).load(function() {
$("#content, #sidebar, #content-sidebar-wrap").equalHeightColumns();
});
此外,如果我将特定高度传递给click事件,它将起作用

你知道为什么它没有按照我想要的方式扩张和收缩吗

谢谢,
Scott

查看文档,我认为它不起作用,因为高度是通过读取div的高度来设置的。但是,您的主div已经由插件设置了高度,并且当添加更多内容时,这不会改变

在调用插件之前,尝试将div的高度重置为
auto

$("#content, #sidebar, #content-sidebar-wrap").css('height','auto').equalHeightColumns();

另外,如果你因为白色背景而试图匹配高度,请允许我建议一种替代方法:使用这种技术。可以帮你省去很多麻烦。

我知道。但这是一个响应性的布局(正在进行中),因此两列都很窄,侧边栏在某个点下降到主要内容的下方。此外,人造柱不允许在柱之间使用半色调图案。透明PNG可以显示背景图案吗?然而,我明白你关于响应性设计的观点,这是一个非常好的观点。我也这么认为。但是,如果我将
height:300
,例如,添加到click函数中,它会覆盖插件初始运行时设置的高度。嗯……不过我认为你走对了方向。也许这是因为它是一个特定的值。不管怎样,我试着将它设置为自动,但没有成功。看看firebug,我可以看到它,当然,添加了内联高度。所以,我认为你是对的。下次调用该函数时,它会看到它们已设置为相同的高度。所以,我想我需要先点击删除那个样式…我误解了。我以为你的意思是我应该在样式表中将高度设置为“自动”。嗯。我像你说的那样重置了它,它工作了!非常感谢。为便于搜索,请澄清:
$(文档).delegate('.expand',click',function(){$('.#content,#sidebar,#content sidebar wrap').css('height',auto');$(“#content,#sidebar,#content sidebar wrap”).equalHeightColumns())