我有多个 div 使用相同的 html,高度可变。我正在尝试计算 div 的高度.content
,然后使用该值来设置.sections
div 的高度。目前,此函数仅影响其类型的最后一个 div。如何使此功能可重用,以便它适用于页面上的每个 div?
var currentHeight = 0;
jQuery(document).ready(function() {
jQuery('.content').each(function() {
currentHeight = jQuery(this).outerHeight();
});
jQuery('.sections').each(function() {
jQuery(this).css('height', currentHeight/2);
});
});
示例 HTML:
<div class="sections"></div>
<div class="content">content with a height of 200px</div>
<div class="sections"></div>
other html....
<div class="sections"></div>
<div class="content">content with a height of 400px</div>
<div class="sections"></div>
因此,前两个.sections
将获得 100 像素的高度,后两个.sections
将获得 200 像素的高度。
更新: 我找到了基于 Forty3 答案的解决方案!这可以写得更干吗?
Forty3 的解决方案对我有用,但做了一些小的调整:
// With the .content FOLLOWING the .section - use the following:
jQuery(document).ready(function() {
jQuery('.bigImageSections').each(function() {
var ic = jQuery(this).next('.translatedContent');
if (ic.length > 0) {
jQuery(this).css('height', jQuery(ic).outerHeight() / 2);
}
var ict = jQuery(this).prev('.translatedContent');
if (ict.length > 0) {
jQuery(this).css('height', jQuery(ict).outerHeight() / 2);
}
});
});