Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 每隔一段时间重新计算一次高度功能_Jquery_Css_Resize_Load_Height - Fatal编程技术网

Jquery 每隔一段时间重新计算一次高度功能

Jquery 每隔一段时间重新计算一次高度功能,jquery,css,resize,load,height,Jquery,Css,Resize,Load,Height,我在脚本中遇到了一些问题,它读取div的高度,然后调整另一个的大小 基本上,它只是偶尔做一次 在我看来,该函数是在实际加载所有元素之前获取div的高度 function recalculate_h() { if ($(".content_full").is(":visible")){ var cur = $(".content_full").height()+100; animate_height(cur); } } fu

我在脚本中遇到了一些问题,它读取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");
});

知道我做错了什么吗

附言

有两种导航站点的方法,一种是通过基本的刷新和获取属性,另一种是使用ajax请求进行更平滑的导航。 另外,在每次页面加载时都会像这样调用recalculate_h,这非常有效

$(window).load(function() {

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

}))

可以尝试使用jquery ajax调用加载index.php吗。。。。并调用重新计算_h();关于ajax的完整事件

我发现您设置的这些值不正确:

var middle_banner_height = 100;
var middle_banner_width = 802; 
您应该这样设置它们:

var middle_banner_height = "100px";
var middle_banner_width = "802px"; 
另外,在这个调用中,您将midle_banner_设置为,而不是middle_banner_width,因此未定义midle_banner_。
无论如何,这可能是为了解决整个bug,但是你的脚本在这里被破坏了。

我以前在我的一个项目中也做过同样的场景,我解决它的方法是抓取你想要调整大小的元素,并将其css设置为高度:auto。然后添加其余的代码。让我知道它是否有效。

请添加为JSFIDLE,因为我们无法知道“下一步”是什么,或者jquery加载是否每次都从服务器返回。您正在加载的页面中是否有任何图像?是的,有一些。我的第一个猜测是,这可能是css定位的原因。。。但正如我之前写的,这实际上是可行的。有时它做得很好,有时它似乎忘记了一些div。
.load
不是
.ajax()
的缩写吗?他已经在完整函数中调用了
重新计算\u h()
。。。“哦,是的。我没注意到。毕竟我使用了css,完全忘记了索引中的残余内容,谢谢。顺便说一句,虽然输入错误,但这段代码现在基本上什么都不做。我用css:auto将所有代码封装在一个div中,但没有太大变化。如果你想看一下,这里是实际项目BTW。如果你用中间横幅上的箭头导航,这只是时间崩溃的问题。因为我已经尝试了很多事情,所以我终于把CSS高度设置为固定值。这实际上是最糟糕的解决方案,但它目前正在发挥作用。