javascript高度数学重新计算每页更改

时间:2011-08-25 13:38:57

标签: javascript jquery html css

我有一个javascript计算iframe元素的高度和文档高度。然后使用if查看iframe元素是打开还是关闭。当它的高度为1px且显示为无。当它在高度上是34px并且显示是阻止的。我用另一个与这个问题无关的函数来做这一切。问题是为什么当我更改页面时,如果高度小于上一页,它不会重新计算高度并正确设置,但如果高度大于前一页它重新计算并相应地设置高度。我在每个页面的body标签上使用onload =“javascript:autoHeight”,以便每次加载不同的页面时都会调用该函数,并且只有在完成加载后才能正确获取高度。如果您需要更多代码:http://alomadruga.com.br/temp/home.php

function autoHeight(){
var docHeight = $(document).height();
var radioHeight = parent.$("#radioiframe").height();
if (radioHeight == 34){
    parent.$('#content').css({'height': docHeight + 34+ 'px'});
    alert("radio iframe is on");
}
else {
    parent.$('#content').css({'height': docHeight+ 'px'});
    alert("radio iframe is off");
}
};

感谢每一个人的帮助,但我设法自己弄清楚,并决定我会发布答案来帮助那些来自这个问题的人。我所做的是,每次运行该函数时,我首先将高度设置为1px,然后让它运行该函数。

function autoHeight(){
    parent.$('#content').css({'height': 1+ 'px'});
var docHeight = $(document).height();
var radioHeight = parent.$("#radioiframe").height();
if (radioHeight == 34){
    parent.$('#content').css({'height': docHeight + 34+ 'px'});
    alert("radio iframe is on");
}
else {
    parent.$('#content').css({'height': docHeight+ 'px'});
    alert("radio iframe is off");
}
};

1 个答案:

答案 0 :(得分:0)

尝试应用此CSS:

html {height:100%}

body {
    margin:0; padding:0;
    height:auto !important;
    height:100%;
    min-height:100%;
    position:relative;
}