使jQuery具有相同的高度脚本重新计算新内容

时间:2012-04-18 21:25:22

标签: jquery

我使用this jQuery plugin获取主要内容和侧边栏以匹配高度 - 这很好用。但我现在正在更新成员目录页面,并且我已经设置了名称,以便在单击时从基本列表扩展到完整列表。但是,我无法获得内容和侧边栏div以扩展和与他们签约。

这里是一个带有虚拟内容的示例页面:http://stylesmithonline.com/AWAD_test/AWAD_directory_test.html(注意:我知道我需要将那些onClick事件移动到他们自己的功能 - 其他人创建了原始网站,所以我得到了一些清洁工作)。

我尝试添加课程" expand"使用此链接和调用函数:

$(document).delegate('.expand', 'click', function(){
$("#content, #sidebar, #content-sidebar-wrap").equalHeightColumns();
});

如果我删除对函数的原始调用,它会工作一次:

$(window).load(function() {
$("#content, #sidebar, #content-sidebar-wrap").equalHeightColumns();
});

此外,如果我将特定高度传递给click事件,它将起作用。

知道为什么它没有以我想要的方式扩展和收缩?

谢谢, 斯科特

1 个答案:

答案 0 :(得分:2)

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

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

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

此外,如果您因为白色背景而尝试匹配高度,请允许我建议替代方法:使用Faux Columns技术。可以省去很多麻烦。