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

Element einblenden, nachdem zwei Objekte angeklickt worden sind.

JBS

New member
Hey!

Als blutiger JS-Anfänger brauche ich Hilfe für eine bestimmte Funktion.
Mein Ziel ist es, dass ein Objekt (welches später als Button agieren soll) erst auftaucht, sofern zuvor mehrere objekte angeklickt worden sind.

Ich hab ähnliches bisher mit Hilfe von CSS (visibility: hidden, etc.) erreicht. Das hindernis für mich jetzt ist allerdings, dass mehrere Objekte angeklickt worden sein sollen und ich das mit einer einfach "function" nicht hinbekomme.

Kann man da mit "if" und "else" arbeiten? wenn ja, wie?

Hab schon so viel gesucht, aber nichts gefunden, oder nichts richtig umsetzen können :/

Vielen Dank im Voraus für jegliche Hilfe!
 
Ich würde da nicht großartig mit if...else... arbeiten, sondern einfach im CSS definieren, dass das Objekt nur angezeigt wird, wenn es mehrere bestimmte Klassen hat. Jeder Klick auf ein bestimmtes Objekt gibt ihm eine bestimmte Klasse, so dass es nur erscheint, wenn es alle Klassen hat.

Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<style type="text/css">
#hidden {
	display: none;
}
#hidden.class1.class2.class3.class4 {
	display: block;
}
</style>
</head>
<body>
<button value="class1">1</button>
<button value="class2">2</button>
<button value="class3">3</button>
<button value="class4">4</button>
<div id="hidden">Erscheint erst, wenn mann alle Buttons geklickt hat</div>
<script>
Array.prototype.forEach.call(document.querySelectorAll("button[value^=class]"), function(button){
	button.addEventListener("click", function(){
		document.getElementById("hidden").classList.add(this.value);
		this.style.display = "none";
	});
});
</script>
</body>
</html>
 
Alles klar! Vielen Dank. Das werde ich heute ausprobieren und berichten, ob es funktioniert hat ;)
 
Zurück
Oben