2016-07-01 125 views
-1

我想在执行某个动作和溢出时使身体高度达到100%:隐藏也是如此,但只有当我执行此操作时。向现有类添加额外的CSS

这是我已经试过:

$(window).load(function() { 

    $('.menuBtn').click(function(e) { 
     e.preventDefault(); 
     (this.classList.contains('is-active') === true) ? this.classList.remove('is-active'): this.classList.add('is-active'); 
     $('nav').slideToggle(); 

     $('.headerBarm').toggleClass('fixed-position'); 
     $('nav').toggleClass('fixed-position'); 
     $('.headerBar').toggleClass('fixed-position'); 
     $('body').css("height:100%; overflow:hidden;"); 
    }); 

}); 

-

$('body').css("height:100%; overflow:hidden;"); 

我也无法弄清楚如何使它像切换工作。当我再次点击它时,它必须恢复正常。

我做错了什么。

由于提前,

凯文

+1

使用预定义的类,'toggleClass()' –

回答

1

这是不正确的方式使用.css()方法,你应该用这样的方式:

$('body').css({height:"100%", overflow:"hidden"}); 

另外它可以更简化为:

$('.menuBtn').click(function(e) { 
    e.preventDefault(); 
    $(this).toggleClass('is-active'); 
    $('nav').slideToggle(); 
    $('.headerBarm, nav, .headerBar').toggleClass('fixed-position'); 
    $('body').css({height:function(){ 
        return $('body').height() !== $(window).height() ? "100%" : "auto"; 
        }, 
        overflow:"hidden" 
    }); 
}); 
+0

感谢这个工程,我也在努力如何使它像切换一样工作。 –

+0

@kevinseda检查更新了一个。 – Jai

+0

我点击后位置保持不变。 –

1

试试这个:

$('body').css({ 
    'height' : '100%', 
    'overflow':'hidden' 
}); 
+0

它的工作原理!你知道一种让它像切换的方法吗? –