Javascript 调整大小时重新计算函数内的变量

Javascript 调整大小时重新计算函数内的变量,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个打开和关闭导航覆盖的功能,它在标题下滑动。它可以完美地点击,但是如果我打开导航,然后调整窗口大小,导航和标题之间会出现一个空格。这是因为当我单击导航打开时,会计算标题的高度,然后将其添加到导航顶部以偏移它。但是标题的大小不会在调整大小时重新计算。我该怎么做?我知道我甚至可以在函数上添加一个resize,但我不希望函数在resize上运行,我只希望重新计算页眉的高度。谢谢 jQuery("#button").click(function(){ var nav = jQuer

我有一个打开和关闭导航覆盖的功能,它在标题下滑动。它可以完美地点击,但是如果我打开导航,然后调整窗口大小,导航和标题之间会出现一个空格。这是因为当我单击导航打开时,会计算标题的高度,然后将其添加到导航顶部以偏移它。但是标题的大小不会在调整大小时重新计算。我该怎么做?我知道我甚至可以在函数上添加一个resize,但我不希望函数在resize上运行,我只希望重新计算页眉的高度。谢谢

jQuery("#button").click(function(){
        var nav = jQuery("#nav_overlay");
        var head_h = jQuery("#head_fixed").outerHeight(true);

        jQuery(nav).css("top", head_h);
        jQuery(nav).toggleClass('width_pad');
    });

我自己想出来的。我必须在函数外部声明变量,以便在另一个函数中访问它们,然后重新计算它们。给你

    var nav = jQuery("#nav_overlay");
    var head_h = jQuery("#head_fixed").outerHeight(true);

    jQuery("#button").click(function(){
        var nav = jQuery("#nav_overlay");
        var head_h = jQuery("#head_fixed").outerHeight(true);

        jQuery(nav).css("top", head_h);
        jQuery(nav).toggleClass('width_pad');
    });

     jQuery(window).resize(function(){
        var head_h = jQuery("#head_fixed").outerHeight(true);
        jQuery(nav).css("top", head_h);
    });