在调整大小

时间:2017-11-06 09:52:27

标签: javascript jquery html css

我有一个功能可以打开和关闭在标题下方滑动的导航叠加层。它完美地点击,但是如果我打开导航然后调整窗口大小,导航和标题之间会出现一个空格。这是因为当我点击导航打开时,计算标题的高度然后添加到导航的顶部以抵消它。但是在调整大小时不会重新计算标题的大小。我怎样才能做到这一点?我知道我甚至可以在函数上添加一个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');
    });

1 个答案:

答案 0 :(得分:0)

我自己想通了。我不得不在函数外部声明我的变量,以便我可以在另一个函数中访问它们,然后重新计算它们。在这里。

    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);
    });