2017-05-14 2 views
0

Ich möchte den Bildlauf deaktivieren, wenn auf das 'Menüsymbol' meiner Seite geklickt wird, und dann den Bildlauf erneut aktivieren, wenn das Menü erneut angeklickt wird, um zu schließen.Wie kann ich Scroll aktivieren und deaktivieren, indem ich mit jquery auf dasselbe Element klicke?

Ich versuche, etwas wie folgt aus:

$(document).ready(function(){ 

    $(".menu").click(function (e) { 
    $(".menucontent").show(); 
    if ($(".menucontent").is(":visible")) { 
     $('html, body').css({ overflow: 'hidden', height: '100%'}); 
    }else{ 
     $('html, body').css({ overflow: 'auto', height: 'auto'});  
    } 

    }); 
    }); 

aber ich brauche Hilfe, weil ich Art von Neuling auf dieser Sprache bin

+0

Check [diese] (http://stackoverflow.com/questions/19817899/jquery-or-javascript-how-to-disable-window-scroll-without-overflowhidden) – Sylogista

+0

Wie es funktioniert nicht ? Erhalten Sie Fehler in der Konsole? –

+0

es tatsächlich die Scroll deaktivieren, wenn Menü Inhalt sichtbar ist, aber es funktioniert nicht, wenn ich erneut auf die Menüschaltfläche klicken, würde die Scroll wieder aktiviert werden, aber es ergibt sich nicht –

Antwort

1

Sie toggle() statt show

setzen sollten

Toggle: Anzeigen oder Ausblenden der übereinstimmenden Elemente.

$(document).ready(function(){ 
    $(".menu").click(function (e) { 
    $(".menucontent").toggle(); 
     if ($(".menucontent").is(":visible")) { 
     $('html, body').css({ overflow: 'hidden', height: '100%'}); 
     }else{ 
     $('html, body').css({ overflow: 'auto', height: 'auto'});  
     } 
    }); 
    }); 
+0

ihr bekommt es noch nicht u.u. Das Problem ist nicht, wie ich den Inhalt zeige oder nicht, das Problem ist der Bildlauf ... Ich möchte den Bildlauf der Seite aktivieren, bevor Sie den Inhalt zeigen und deaktivieren, während sichtbar ist. –

Verwandte Themen