Frage von EPEffects, 34

HTML call Javascript Function?

Allgemeines:

Ich will die Javascript Function " setGameMode("ffa"); " und eine halbe sekunde später die function " setGameMode("hero"); " durch einen Button in HTML aufrufen.


Mein Versuch:

center button onclick="setGameMode("ffa");setTimeOut(setGameMode("hero"),500);" class="btn btn-danger" data-itr="change_server" button center

Hiermit wird aber die Function nicht aufgerufen... Durch mehrmaliges rumprobieren, umstellen von Klammern entfernen von Anführungszeichen bin ich nicht auf die Lösung gekommen.

#### Mein 2. Versuch: ####

Ich habe dieses Script eingefügt:

 $("#reconnect").bind('click', function(a){a!=W&&(":party"==W&&e("#helloContainer").attr("data-party-state","0"),ga(a),":party"!=a&&M())};)

und den Button mit der id "reconnect" vermerkt. Dadurch wird aber immernoch nicht die gewünschte Function aufgerufen und langsam bin ich am verzweifeln!


Ich hoffe irgendjemand hier kann mir helfen, ich verteile auch gerne eine Hilfreiche Antwort ;) Mfg, EPEffects.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von DustFireSky, 34

Ich empfehle dir das Jquery Framework für die Javascript spielereien. Da ist alles drin was man braucht und wesentlich einfacher zu händeln, als alles selber schreiben zu müssen. Da kann man kinderleicht bei Function Calls Timer definieren.

Kommentar von GustavAT ,

Vielleicht das nächste mal erst die Frage komplett durchlesen, bovor man so eine semikonstruktive Antwort abgibt. Im zweiten Versuch sieht man doch ganz klar, dass er jQuery bereits verwendet :)

Kommentar von DustFireSky ,

Joa, stimmt. War nicht gewillt mir alles anzusehen :P

Antwort
von GustavAT, 18

Gut, dass du dein Problem selber gelöst hast.

Der Grund wieso dein erstes Script nicht funktioniert liegt daran, dass du die Funktion setGameMode("hero") noch einmal extra in eine anonyme Funktion wrappen musst und diese dann dem setTimeout übergeben. Oder du schreibst setGameMode ohne die () ins setTimeout und hängst mit apply() oder call() den Parameter "hero" dran.

   

Antwort
von EPEffects, 25

Ich habe den Fehler gefunden! ^^ Hab das ganze etwas umständlicher gelöst, functioniert jetzt aber ^^

Keine passende Antwort gefunden?

Fragen Sie die Community