Hy,
ich versuche gerade meinen kompletten code schlanker zu machen. Mein problem ist das ich mehrere 'clicks' habe die eigentlich das selbe machen nur andere werte haben. Nach einigen recherche habe ich etwas gefunden mit querySelectorAll(); denke das es ein falscher weg ist. Und durchs experimentieren habe ich sowas rausgefunden:
HTML:
<div class="bg">
<div class="container" id="btn1">btn 1</div>
<div class="container" id="btn2">btn 2</div>
<div class="container" id="btn3">btn 3</div>
<div class="container" id="btn4">btn 4</div>
<div class="container" id="btn5">btn 5</div>
<div class="container" id="ausgabe">output</div>
</div>
CSS:
.bg {
background-color: lightgreen;
height: 8rem;
padding-top: 4rem;
padding-left: 3rem;
width: 50%;
margin-left: auto;
margin-right: auto;
}
.container {
background-color: lightgrey;
display: inline-block;
height: 2rem;
width: 100px;
border: 1px solid grey;
padding-top: .8rem;
margin-top: .5rem;
margin-left: .3rem;
margin-right: .3rem;
text-align: center;
}
.activ {
background-color: lightblue;
border: 1px solid blue;
}
Alles anzeigen
JS:
var btnClick = function(){
const choose = this.id;
const output = document.getElementById('ausgabe');
output.innerText = 'Klick: ' + choose;
}
document.getElementById('btn1').onclick = btnClick;
document.getElementById('btn2').onclick = btnClick;
document.getElementById('btn3').onclick = btnClick;
document.getElementById('btn4').onclick = btnClick;
document.getElementById('btn5').onclick = btnClick;
Alles anzeigen
Bisher habe ich nix gefunden wie ich es am besten machen könnte. Als ergebnis bekomme ich hier die ID ausgespuckt. Kann ich mir da noch etwas anderes ausspucken lassen? Bzw. Wie kann die die ID weiter verwenden für eine function? zb. ausgabe soll ID ausspucken mit innerText und soll eingefärbt werden (zb. btn1 = blau, btn2 = grün, ...) Ich weis nicht wie ich mit der information umgehen soll.
https://codepen.io/Noobie_Chan/pen/qBdjwWQ?editors=1010
Ps: this ist mir noch etwas fremd, habe das noch nicht so ganz verstanden. Hat wer ein kleine bsp. zur verwendung?
Bin für jede hilfe dankbar! =)