Hallo zusammen,
gerne möchte ich meinen Code in HTML anpassen/kürzen.
Hierzu möchte ich dynamische Variablen verwenden.
Original Code
Code
var modal1 = document.getElementById("myModal1");
var modal2 = document.getElementById("myModal2");
var modal3 = document.getElementById("myModal3");
var modal4 = document.getElementById("myModal4");
var btn1 = document.getElementById("Pic1");
var btn2 = document.getElementById("Pic2");
var btn3 = document.getElementById("Pic3");
var btn4 = document.getElementById("Pic4");
if (PicAmount ==1){
btn1.onclick = function() {modal1.style.display = "block";}
} else if (PicAmount ==2) {
btn1.onclick = function() {modal1.style.display = "block";}
btn2.onclick = function() {modal2.style.display = "block";}
} else if (PicAmount ==3) {
btn1.onclick = function() {modal1.style.display = "block";}
btn2.onclick = function() {modal2.style.display = "block";}
btn3.onclick = function() {modal3.style.display = "block";}
} else if (PicAmount ==4) {
btn1.onclick = function() {modal1.style.display = "block";}
btn2.onclick = function() {modal2.style.display = "block";}
btn3.onclick = function() {modal3.style.display = "block";}
btn4.onclick = function() {modal4.style.display = "block";}
}
Alles anzeigen
Nun möchte ich das wie gesagt kürzen per Loop bin mir aber nicht sicher wie ich am besten vorgehe, denn '+i+' funktioniert ja nur bei einem String. Das heißt ich müsste die Variable in ein String umwandeln?
Mein bisherige Idee
Code
var btn_i;
for (btn_i = 1; btn_i < PicAmount; btn_i++){
var modal1 = document.getElementById("myModal"+btn_i);
var btn1 = document.getElementById("Pic"+btn_i);
btn1.onclick = function() {modal1.style.display = "block";}
}
Das heißt, ich müsste modal1, btn1 auch noch irgendwie variable gestalten ... weiß aber nicht genau wie.
Ich hoffe auf Eure Hilfe, Tipps
Gruß
Marja