Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Teil der Element-ID als Variable ersetzen
#1
Hallo Zusammen,

habe mir als Neuling schon sehr viel zusammengelesen und ergoogelgt, aber hier bräuchte ich mal Hilfe:

Ich ändere den Anzeigetext eines html-Elements mit der hier angezeigten Funktion.
Klappt auch einwandfrei.

Nun soll aber auch bei Änderung der Variable hw auch eine andere ID angesprochen werden.
Also idHinweis1, dann idHinweis2, dann idHInweis3 usw.

Ich krieg aber die Variable nicht in die IdBezeichnung in der Klammer.

Kann mir da bitte mal jemand auf die Sprünge helfen?

Dank Euch.
Code:
function Hinweise(hw){
    if (hw== undefined) {
        hw=0;
    }
    document.getElementById("idHinweis1").innerHTML = (arrayHinweis[hw]);
    if (hw<3) {
        hw++;
        setTimeout('Hinweise('+hw+')',2000);
    }
    else {
        document.getElementById("idHinweis1").style.visibility = "hidden";
    }

}
Zitieren
#2
Hallo @TecMec und willkommen im Forum!

Leider postest Du nur ein wenig Javascript. Wie wird diese Funktion denn überhaupt aufgerufen?
Du könntest einfach einen weiteren Parameter hinzu fügen mit der ID des Zielelementes:

Code:
function Hinweise(hw, idHinweis){
    if (hw== undefined) {
        hw=0;
    }
    document.getElementById(idHinweis).innerHTML = (arrayHinweis[hw]);
    if (hw<3) {
        hw++;
        setTimeout('Hinweise('+hw+', ' + idHinweis + ')', 2000);
    }
    else {
        document.getElementById(idHinweis).style.visibility = "hidden";
    }
}

... oder so, ist IMO besser lesbar:
Code:
setTimeout(() => {
    Hinweise(hw, idHinweis);
}, 2000);
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren
#3
Hallo Sempervivum,

Und Danke Dir schon mal für den Tipp. Ich verstehe die Struktur und werde es morgen gleich testen.

Nur ist bei Dir auch so wie ich es verstehe idHinweis komplett die Variable.
Bei mir müsste jedoch nach document.get(.... erst "IdHinweis" eingesetzt werden und dann die Nr., also die Variable. So möchte ich immer ein anderes Feld ansprechen.

Aufgerufen wird die Funktion im Skript ganz einfach mit Hinweise().
Innerhalb der Funktion ruft sie sich selbst wieder auf.

Ziel ist innerhalb eines Ratespiels zeitversetzt an verschiedene Stellen auf der Webseite Hinweise anzuzeigen.

Der User muss dann durch Klick auf einen von 4 Buttons seine Antwort geben.

Dann erscheinen 4 weitere Hinweise, zu denen ein anderer Button der Richtige ist.

Ich muss da beruflich was erstellen, was für mich ein kleiner Ausschweif ist. So Stöpsel ich mir pö a pö das Skript zusammen, in dem ich Funktion für Funktion aufbaue.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
3 Gast/Gäste