比如说两个块元素我想让他们等高,其中任何一个高度变了,它们的高度会变为其中最高的那个!我用offsetHeight做了,他只有刷新页面才会变
然后我用父级overflow:hidden
两个块分别margin-bottom:-10000px;padding-bottom:10000px;
但是问题来了:
效果可以实现但是两个块无法加上底边框!因为父级overflow:hidden了!里面的文字也不能垂直居中 line-height是失效的;有什么其他的方式可以处理????
//
<ul id="ul">
<li class="a" id="seller">a</li>
<li class="b" id="cont">b</li>
</ul>
//
<下面是我刚开始用js做的,有问题,看看有什么地方要改进的,或者看看有什么其他方式>
function $(id){ return document.getElementById(id) ;} ;
function getHeight(){
if($("seller").offsetHeight>=$("cont").offsetHeight){
$("cont").style.height=$("seller").offsetHeight + "px";
}
else{
$("seller").style.height=$("cont").offsetHeight + "px";
}
}
getHeight()
首先请把你提问中的代码整理好。
你的代码写的有如下错误,请你认真阅读jQuery文档。
id选择器
的使用方法是:
$('cont'); // 错误
$('#cont'); // 正确
jQuery对象
不具有style
属性和offsetHeight
属性
$('#seller').offsetHeight; // 错误
$('#seller').height(); // 正确
这些错误应当会在你的浏览器控制台有所提示,请你认真检查。
希望对你有帮助。
前面的写错了
如果你是要在高度发生变化的时候另一个随之改变,那么你需要监听它的变化,每当变化都执行getHeight
,而不是只执行一次。
至于如何监听,要看具体是什么操作引起你的块高度变化的。
为什么要设置这么大的边距?