Javascript来测量多个Div高度
我正试图用jQuery构建一个手风琴菜单,但我遇到了跳跃的动画。跳跃是由于没有为div设置高度造成的。我的问题是,每个div将根据内容有不同的高度;所以问题是,我将如何使用javascript查看带有类“submenu”的每个div,测量它的高度并设置它 以下是我到目前为止的情况:Javascript来测量多个Div高度,javascript,jquery,css,height,measurement,Javascript,Jquery,Css,Height,Measurement,我正试图用jQuery构建一个手风琴菜单,但我遇到了跳跃的动画。跳跃是由于没有为div设置高度造成的。我的问题是,每个div将根据内容有不同的高度;所以问题是,我将如何使用javascript查看带有类“submenu”的每个div,测量它的高度并设置它 以下是我到目前为止的情况: $('.submenu').each(function() { var divh = $(this).height(); $(this).css('height', divh + 'px'); }); 我遇
$('.submenu').each(function() {
var divh = $(this).height();
$(this).css('height', divh + 'px');
});
我遇到的是,它似乎只测量一个。子菜单div,并将所有这些设置为该高度。思想?提前谢谢 假设也是这样:
$('.submenu').each(function() {
var divh = $(this).height();
$('.divClass').css('height', $('.divClass').height() + divh + 'px');
});
您需要始终将for中的当前div高度添加到手风琴div中。相信我发现了问题。我在$(document).ready()函数中有上面的脚本,该函数只加载并随后测量DOM。将其移动到$(window).load()函数中,该函数允许它查看内容,然后测量高度。作为澄清,子菜单类div是手风琴div
$(window).load(function(){
$('.submenu').each(function() {
var divh = $(this).height();
$(this).css('height', divh + 'px');
});
$('.submenu').hide();
});
使用手风琴的
autoHeight
选项可以解决这个问题。您不需要分别设置每个div
高度。我不明白这里发生了什么-看起来您所做的只是获取元素的高度,然后再次将其设置为该高度。顺便说一句,你可以做$(this).height(divh)代码>@Zero21xxx我将尝试使用autoHeight选项,尽管它看起来只会确定最高的部分并为所有部分设置该高度。@NeXXeuS每个div都有不同的内容量,因此我通常无法为“submenu”类设置高度,所以是的,这是我正在做的,但对于多个div。如果未设置高度,则手风琴动画会跳跃。相信我发现了问题。我在$(document).ready()函数中有上面的脚本,该函数只加载并随后测量DOM。将其移动到$(window).load()函数,该函数将允许它查看内容并对其进行测量。变量divh应该可以做到这一点。mhh不确定我是否理解问题,但我已经编辑了代码。divClass应该是包含AccordionOrry的div。不太清楚,.submenu类是Accordiondiv。我找到了问题所在,我会把它作为一个答案。谢谢你的帮助,格雷格!