Gunnar Bittersmann: Javascript - Beim Klicken soll sich ein Fenster öffnen

Beitrag lesen

@@saskia

	<script>$('#button-login').click(function(){ 
  $('#login').toggle();
});
	</script>

Das Problem bei diesem Script ist jedoch, dass schon beim Aufrufen der Seite das Login-Fenster zu sehen ist und erst bei einem Klick auf "Login" es verschwindet.

toggle() schaltet die Sichtbarkeit um. Du musst das Element per Stylesheet initial unsichtbar machen:

#login { display: none }

Damit das auch bei Screenreadern funktioniert, sollte das Element als Dialogbox gekennzeichnet werden:

<div id="login" role="dialog">

Ergänzung:

Wenn das Login auch ohne JavaScript funktionieren soll, darf das ELement natürlich nicht so versteckt werden, sondern nur dann, wenn JavaScript ausgeführt wird: entweder

$('#login').hide();

oder dem html-Element eine Klasse js geben

$('html').addClass('js');

und per Stylesheet das Element nur verstecken, wenn diese Klasse gesetzt ist:

.js #login { display: none }

LLAP 🖖

--
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.