tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
605
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BeachBoy BeachBoy ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    33
    Hallo,

    ich habe mal eine Frage, und zwar habe ich mit JavaScript ein Spiel programmiert. Jetzt habe ich eine Schwierigkeitsstufe dafür programmiert. Das Script befindet sich in einer externen Javascript Datei. Nun will ich noch eine zweite Schwierigkeitsstufe dazu programmieren. Wenn ich jetzt dieses in die gleiche Javascript Datei schreibe wird der Quelltext ziemlich lang und unübersichtlich. Ich habe mir überlegt eine zweite Javascript Datei dafür zu benutzen, allerdings funktioniert dies so leider gar nicht.
    Jetzt meine Frage:
    Kann man sowas überhaupt so machen, dass die eine Datei Werte von Variablen an die andere Datei übergibt? Wenn ja, kann mir jemand sagen wie? Wäre echt leichter nachher den überblick über die funktionen zu behalten.
    Ansonsten bleibt mir nur, alles in eine Datei zu packen.

    Schonmal Danke für die Antwort!
    Sebastian
     

  2. #2
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Wenn du Javascript-Dateien über <script src=....> einbindest ist das für Javascript genau so, als würde der JS-Code aus der Datei einfach in dem Dokument stehen - als wäre er quasi per Copy&Paste da eingefügt. D.h. es ist vollkommen egal ob du deinen Code auf eine, zwei, drei oder sonst wie viele Dateien aufteilst.

    Wenn dabei in einer datei "var x=5;" steht und in der anderen "var x=6", dann hat x den Wert aus der zuletzt eingebundenen Datei. Das gleiche gilt für alles, im Besonderen für Funktionen mit gleichem Namen, da wird auch die eine durch die andere überschrieben. Wenn du das bedenkst und ein wenig Verstand einsetzt sollte dein Vorhaben gelingen.

    Ich an deiner Stelle würde aber zunächst nur eine Datei laden und dann, wenn der Schwierigkeitsgrad umgestellt wird vom Benutzer die andere Datei nachladen über appendChild().
    Geändert von con-f-use (12.01.06 um 00:44 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  3. #3
    BeachBoy BeachBoy ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    33
    habe das Einbinden folgendermaßen gemacht:
    Code :
    1
    2
    
    <script type="text/javascript" src="script11.js"></script>
    <script type="text/javascript" src="script12.js"></script>
    das js sieht ausschnittsweise so aus:
    in script11.js:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    var spiel = 1;
    function level11()
    {
       if(spiel == 1) spiel11();
    }
     
    level11();
    dort wird einfach beim laden des js die function level11() aufgerufen.
    in script12.js:
    Code :
    1
    2
    3
    4
    
    function spiel11()
    {
     bla bla bla
    }
    soweit so gut, es funktioniert nicht. Wenn ich im firefox in die Javascript Konsole gucke sagt er mir "spiel11 is not defined. Quelldatei script11.js"

    Liegt der Fehler noch im Einbinden der Dateien? oder warum kommt dieser blöde Fehler?

    Danke für die Hilfe,
    Sebastian
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Es dürfte an der Reihenfolge liegen, wie die Skriptdateien eingebunden werden.
    Ein Dokument wird von oben nach unten gelesen, und nicht am Stück.

    Drehe das mal um(also zuerst script12 einbinden).

    Am Sinnvollsten wäre es, wenn du die Sache erst beim onload des Dokumentes startest...dann ist garantiert alles gelesen und bekannt.
     

  5. #5
    BeachBoy BeachBoy ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    33
    ja danke für die super Antworten.
    Habe es eben sofort nach der Arbeit ausprobiert und es lag wirklich an der Reihenfolge der scripte. Jetzt läuft alles wunderbar.
    Trotzdem wundert es mich, dass es doch an der Reihenfolge liegt, da wenn ich normal mit nur "einer" Scriptdatei arbeite auch Funktionen aufrufe, die danach erst stehen und dabei funktioniert es so. Naja, jetzt bin ich schlauer.

    Damit ist das Theme beendet. Erfolgreich!
    Besten Dank,
    Sebastian
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 26.06.05, 00:34
  2. Hex-Dump einer Datei in eine andere schreiben
    Von shutdown im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 10.04.05, 11:20
  3. Antworten: 23
    Letzter Beitrag: 06.03.05, 21:13
  4. Antworten: 5
    Letzter Beitrag: 22.11.04, 17:16
  5. Antworten: 2
    Letzter Beitrag: 13.01.04, 08:40