我有一个div,它最初为空,显示设置为无。
然后,通过用户选择,激活ajax调用并加载内容。
由于div的位置有点花哨,我必须强制高度才能正确显示。
我设置了一个函数来计算ajax之后父div的高度,但是它给了我一个意想不到的结果,这与该除法的实际高度无关。
在初始页面加载时,计算正确进行,但是使用ajax调用它会变坏。
当它在ajax调用中计算div'main'的高度时,它以某种方式获得了更高的数字,然后是现实。
感谢您的协助。
摘要html:
<div class="content_wrapall">
<div id="main">
<div id="slide1">some content ....</div
<div id="alltabs"></div> // initially set to display:none
</div>
<div id="info">some content...</div>
<div id="pub"> some content... </div>
</div>
这是ajax电话:
$(document).ready(function () {
$(".hook10").change(function () {
var str = $(".hook10").serialize();
$.ajax({
url: "comp_all_ajax.php",
type: "POST",
dataType: "html",
data: str,
success: function (data) {
$("#alltabs").html(data);
$('#' + 'alltabs').css({
"display": "inline"
});
content_height();
},
complete: function () {
$("#tabs, #tabs10").tabs();
$(function () {
$(".tool").click(calltip);
});
}
});
});
});
这是调整高度的功能。它在初始页面加载时工作正常。
function content_height() {
if (wid > 760) {
var c_height = [];
c_height.push($('#pub').outerHeight());
c_height.push($('#main').outerHeight());
c_height.push($('#info').outerHeight());
var max_height = Math.max.apply(Math, c_height);
$('.content_wrapall').height(max_height);
}
}
$(document).ready(function () {
content_height();
});
答案 0 :(得分:0)
如果元素可见,我有一个div,它最初为空,显示设置为无。
height()
和width()
将只返回正确的结果,因此如果调用这些函数时它们有display: none
,结果将是错误的(通常为0)