我以前从来没有遇到过这个问题,但我似乎找不到解决方案,所以我希望你们能帮助我。
jQuery
function setTheHeight() {
if( $('#main.level1 .block.attention .block-content').length ) {
//Get value of highest element
var maxHeight = Math.max.apply(Math, $('#main.level1 .block.attention .block-content').map (
function() {
return $(this).height();
}
));
console.log(maxHeight);
$('#main.level1 .block.attention .block-content').height(maxHeight);
}
}
setTheHeight();
$(window).resize(function() {
setTheHeight();
});
基本上这个函数的作用是检查最高的 div 并将所有选定 div 的高度设置为这个高度。这工作正常。但这是一种响应式设计,所以当用户调整浏览器的大小时,内容会变小,div 会变高。所以我添加了一个调整大小事件。该事件正在被触发,但它没有改变高度。知道为什么调整大小不会改变高度吗?
快速 jsFiddle 显示发生了什么:http: //jsfiddle.net/3mVkn/
使固定
嗯,这简直是愚蠢的。因为我正在设置 height() 它已经修复了所以我所要做的就是重置高度并且它起作用了。
更新代码:
function setTheHeight() {
if( $('#main.level1 .block.attention .block-content').length ) {
//Reset height
$('#main.level1 .block.attention .block-content').height('auto');
//Get value of highest element
var maxHeight = Math.max.apply(Math, $('#main.level1 .block.attention .block-content').map (
function() {
return $(this).height();
}
));
console.log(maxHeight);
$('#main.level1 .block.attention .block-content').height(maxHeight);
}
}
setTheHeight();
$(window).resize(function() {
setTheHeight();
});