• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Mobile Navigation (Toggle) löst nur einmal aus

lulu68163

New member
Hallo Community,

ich habe ein Problem mit meiner mobilen Navigation. Ich habe einen Burgertoggle - bei Klick auf diesen soll sich die mobile Navigation als Modal öffnen und der Burger zu einem Kreuz transformieren. Das klappt soweit auch ganz gut. Allerdings besteht das Problem, dass wenn ich das Menü öffne und wieder schließe, ich es kein zweites mal öffnen kann :(

Anbei sende ich meinen Code und bedanke mich gleich im Voraus für eure Hilfe :)

Code:
( function( $ ) {

	 	$( '.mm-toggle' ).on( 'touchstart click', function(e) {
	  		e.preventDefault();
	 
	  		var $toggle = $( '.mm-toggle' ),
	      		$menu = $( '.mm-navbar' ),
	      		$open = false,
	 
	      	transitionEnd = 'transitionend webkitTransitionEnd otransitionend MSTransitionEnd';
	 
	  		$toggle.addClass( 'close' );
	 
	  		if ( $toggle.hasClass( 'close' ) ) {
	   			$menu.addClass( 'open' );
	   			$open = true;
	  		} 
	  		else {
	   			$menu.removeClass( 'open' );
	   			$open = false;
	  		}

	  		$('.mm-navbar li').on('click', function(){
	        	$(".mm-navbar").removeClass("open");
	        	$(".mm-toggle").removeClass("close");
	        	open = false;
	    	});

	  		$('.close').on('click', function(){
	        	$(".mm-navbar").removeClass("open");
	        	$(".mm-toggle").removeClass("close");
	        	open = false;
	    	});
	 	} );
	 	
	} )( jQuery );

Liebe Grüße
 
Warum arbeitest du mit haufenweise globalen Variablen?
Auch ist $open nicht identisch zu open...

Zusätzlich ist es selten eine gute Idee, in einem Eventlistener andere Eventlistener zu registrieren. Das führt meist zu Problemen.

ABER ohne deine HTML Struktur kann man nicht genau sagen, was da exakt falsch läuft.

PS: Aber das sieht definitiv falsch aus:
$toggle.addClass( 'close' );
if ( $toggle.hasClass( 'close' ) ) {
 
Zurück
Oben