重新计算高度功能偶尔工作一次

时间:2013-02-20 14:43:48

标签: jquery css resize load height

我遇到了一些麻烦,脚本正在读取div的高度,然后调整其他的大小。

基本上它只是偶尔做一次。

在我看来,该函数在所有元素实际加载之前都会调整div的高度。

function recalculate_h() {
    if ($(".content_full").is(":visible")){
           var cur = $(".content_full").height()+100;
             animate_height(cur);

       }
}

function smooth_change(way) {
 // rest of the code
    $("#here").load("index.php?siteno="+next+" #there", function(evt) {

        $("#outer").attr("siteno", next);    
            recalculate_h(); 
    });
}

在document.ready

中调用它
$(".left_navigator").click(function() {
        smooth_change("back");
});

任何想法我可能做错了什么?

P.S。

有两种方法可以通过基本刷新和GET属性导航网站,并使用ajax请求更顺畅。 此外,recalculate_h会在每个页面加载时调用,这样就完美了。

$(window).load(function() {

     recalculate_h();
     //$('#map_canvas').gmap();

});

2 个答案:

答案 0 :(得分:0)

你能尝试使用jquery ajax调用来加载index.php吗?siteno ....并调用recalculate_h();关于ajax的完整事件?

我发现您错误地设置了这些值:

var middle_banner_height = 100;
var middle_banner_width = 802; 

您应该像这样设置它们:

var middle_banner_height = "100px";
var middle_banner_width = "802px"; 

在此调用中,您设置了midle_banner_with而不是middle_banner_width,因此未定义midle_banner_with。 无论如何,这可能需要解决整个错误,但是你的脚本在这里打破了。

答案 1 :(得分:0)

我之前在我的一个项目中做了相同的场景,我解决它的方法是抓住你想要调整大小的元素并将其css设置为height:auto。然后添加其余代码。如果有效,请告诉我。