将额外的css添加到现有类

时间:2016-07-01 12:20:06

标签: jquery css

当我执行某个动作并且溢出时,我想使身高达到100%:隐藏也是如此,但只有当我执行此动作时。

这就是我尝试过的:

$(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;");

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

我做错了什么。

提前致谢,

凯文

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分: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"
    });
});