2016-07-01 7 views
2

このjqueryコードは正常に動作しています。JQueryトグル.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' 
      }); 

ボタンをクリックすると、上記のCSSが追加されます。

私の問題は、もう一度クリックすると元に戻りません。これはトグルで動作しますか?

答えて

5

あなたは、クラスとtoggleClass()のストリークを続けませんか?

CSS:

body.full { 
    height: 100%; 
    overflow: hidden; 
} 

JS(その最後の行を置き換え):

$("body").toggleClass("full"); 
+0

なぜこの回答が非常に迅速に下降したのですか?説明してください。 –

+0

@mplungjan私はそれが理由だと思います。しかし、私はポストをコピーして4秒で編集できるコード忍者ではありません... –

+0

@mplungjanそれは "均等"ではない(私はハードコアのRep-gamerではない)が、私は不思議だったなぜそれが可能なのか。しかし下降は逆転している。最後の6つのコメントは無関係です:) –

3

カスタムクラスを作成して切り替えます。

.myclass { 
    height: 100%; 
    overflow: hidden; 
} 



$('body').toggleClass('myclass'); 
+1

CSSクラスは、それらの周りの引用を持っていません。 –

+0

@JonathanLam Thanx – giannisf