我有一个奇怪的问题。我正在开发一个有两个浮动div(其中包括许多其他东西)的网页。为了使浮动div具有相同的高度,我添加了以下代码
$(document).ready(function(){
alert($('#body-left').height());
if($('#body-left').height()>$('#sidebar').height()){
$('#sidebar').height($('#body-left').height());
}
else{
$('#body-left').height($('#sidebar').height());
}
});
看到“alert($('#body-left')。height());”,当我删除该行时,它停止工作:/。我:
当我不添加alert()行时会发生这种情况:
这就是我添加警报线
时会发生的情况
为什么会发生这种情况的任何想法? :/
对于迟到的回复人员感到抱歉,但我使用
工作了if($('#body-left').height()>$('#sidebar').height()){
setTimeout(function(){
$('#sidebar').height($('#body-left').height());
},100);
}
else{
setTimeout(function(){
$('#body-left').height($('#sidebar').height());
},100);
}
任何想法?
答案 0 :(得分:1)
如果你想要平等的高度......试试这个插件:
$.fn.setMinHeight = function(setCount) {
for(var i = 0; i < this.length; i+=setCount) {
var curSet = this.slice(i, i+setCount),
height = 0;
curSet.each(function() { height = Math.max(height, $(this).height()); })
.css('height', height);
}
return this;
};
将上述代码复制并粘贴到JS文件中并链接到它。然后这样称呼......
$(".theItems").setMinHeight(2); // Pass in number of items to include.
希望这有帮助。
迈克尔。
答案 1 :(得分:1)
使用this question作为基础,您可以快速获取任意数量元素的最大高度。如果你给他们所有的课程equalheight
,你可以这样做:
$(document).ready(function() {
var maxheight = $.map($('.equalheight'), function(val, i) {
return $(val).height();
}).max();
$('.equalheight').height(maxheight);
});
Array.prototype.max = function() {
return Math.max.apply(Math, this);
};