ilch Forum » Allgemein » HTML, PHP, SQL,... » window.onload Konflikt (java)

Geschlossen
  1. #1
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    Hallo liebe Ilch Community!

    seit 3 tagen sitzt ich an einem Problem und weiß einfach nicht wie es lösen soll. Ich möchte eine Loading Funktion verbauen doch leider steht das im Konflikt mit der Uhr die schon drin ist. Wen ich jeweils nur eins von beiden drin hab funktioniert auch jedes wie es soll aber wen ich beide einbaue gibt es Probleme aber erstmal die Codes:

    Hier mal die codes:

    der Code für die Loading Funktion:
    <script type="text/javascript">
      document.getElementById("loading").className = "loading-visible";
      var hideDiv = function(){document.getElementById("loading").className = "loading-invisible";};
      var oldLoad = window.onload;
      var newLoad = oldLoad ? function(){hideDiv.call(this);oldLoad.call(this);} : hideDiv;
      window.onload = newLoad;
    </script>
    
    <div id="loading" class="loading-invisible">
    <img src="img/loading56.gif" width="40" Alt="Loading Page ..."><span style="color:#ee7744;font-size:30px;"> <b>Please wait ...</b></span>
    </div>


    Und die Uhr Funktion:
    <script type="text/javascript" src="include/designs/RaisedFist/dhtml.js"></script> 
    <script type="text/javascript"> 
    function ZeitAnzeigen () { 
      var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", 
                                    "Donnerstag", "Freitag", "Samstag"); 
      var Jetzt = new Date(); 
      var Tag = Jetzt.getDate(); 
      var Monat = Jetzt.getMonth() + 1; 
      var Jahr = Jetzt.getYear(); 
      if (Jahr < 999) 
        Jahr += 1900; 
      var Stunden = Jetzt.getHours(23) +1;
      var Minuten = Jetzt.getMinutes(); 
      var Sekunden = Jetzt.getSeconds(); 
      var WoTag = Jetzt.getDay(); 
      var Vortag = (Tag < 10) ? "0" : ""; 
      var Vormon = (Monat < 10) ? ".0" : "."; 
      var Vorstd = (Stunden < 10) ? "0" : ""; 
      var Vormin = (Minuten < 10) ? ":0" : ":"; 
      var Vorsek = (Sekunden < 10) ? ":0" : ":"; 
      var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr; 
      var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden; 
      var Gesamt = Uhrzeit; 
    
      if (DHTML) { 
        if (NS4) { 
          setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + '<\/span>'); 
        } else { 
          setContent("id", "Uhr", null, Gesamt); 
        } 
        window.setTimeout("ZeitAnzeigen()", 1000); 
      } 
    } 
    
    </script> 
    
    <div align="center">
    <span id="Uhr" class="Uhr">00:00:00</span><span style="font-family:Arial;color:#8f6e25;">(GMT+2)</span>
    </div>


    Damit die Uhr Funktioniert muss noch in den Body tag onLoad="ZeitAnzeigen()" und das ist dann auch der knack punkt:
    - Wen ich beide Skripte verbaue mit dem onload im Body dann tickt zwar die Uhr aber die Loading anzeige verschwindet nicht mehr.
    - Wen ich das onload rausnehme tickt die Uhr nicht mehr aber die Loading anzeige verschindet wen die Seite fertig geladen ist.

    Kann man das irgenwie lösen das ich beide skripte benutzten kann ?
    MFG

    betroffene Homepage: externer Link
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    <script type="text/javascript">
      document.getElementById("loading").className = "loading-visible";
      var hideDiv = function(){document.getElementById("loading").className = "loading-invisible";};
      var oldLoad = window.onload;
      var newLoad = oldLoad ? function(){hideDiv.call(this);oldLoad.call(this);} : hideDiv;
      window.onload = newLoad;
      window.onload = ZeitAnzeigen();
    </script>


    Versuch es mal so, bin mir da noch nicht ganz sicher grumml


    Zuletzt modifiziert von Rock@wulf am 28.02.2013 - 14:23:43
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    Hallo Rock@wulf!

    leider klappt das nicht. Hab das selbe Ergebnis wir vorhher traurig
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    <script type="text/javascript" src="include/designs/RaisedFist/dhtml.js"></script>
    <script type="text/javascript">
    function ZeitAnzeigen () {
      var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                                    "Donnerstag", "Freitag", "Samstag");
      var Jetzt = new Date();
      var Tag = Jetzt.getDate();
      var Monat = Jetzt.getMonth() + 1;
      var Jahr = Jetzt.getYear();
      if (Jahr < 999)
        Jahr += 1900;
      var Stunden = Jetzt.getHours(23) +1;
      var Minuten = Jetzt.getMinutes();
      var Sekunden = Jetzt.getSeconds();
      var WoTag = Jetzt.getDay();
      var Vortag = (Tag < 10) ? "0" : "";
      var Vormon = (Monat < 10) ? ".0" : ".";
      var Vorstd = (Stunden < 10) ? "0" : "";
      var Vormin = (Minuten < 10) ? ":0" : ":";
      var Vorsek = (Sekunden < 10) ? ":0" : ":";
      var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
      var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
      var Gesamt = Uhrzeit;
     
      if (DHTML) {
        if (NS4) {
          setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + '<\/span>');
        } else {
          setContent("id", "Uhr", null, Gesamt);
        }
        window.setTimeout("ZeitAnzeigen()", 1000);
      }
    }
    
    document.getElementById("loading").className = "loading-visible";
      var hideDiv = function(){document.getElementById("loading").className = "loading-invisible";};
      var oldLoad = window.onload;
      var newLoad = oldLoad ? function(){hideDiv.call(this);oldLoad.call(this);} : hideDiv;
      window.onload = newLoad;
      window.onload = ZeitAnzeigen();
    </script>
     
    <div align="center">
    <span id="Uhr" class="Uhr">00:00:00</span><span style="font-family:Arial;color:#8f6e25;">(GMT+2)</span>
    </div>
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    aso war das gemeint:S. ich hatte davor nur die Loading Funktion ersetzt.

    Also die Uhr tickt jetzt auch ohne den Body onload aber das Problem ist das selbe, die Loading nachricht bleibt wieder stehen auch wen die Seite fertig geladen ist.

    Und wen ich das richtig versteht ist das problem ja die zeile:
    window.setTimeout("ZeitAnzeigen()", 1000);


    alle 1000ms wird die zeit abgefragt, somit wird immer was geladen und die loading nachricht bleibt stehen. So hab ich es jetzt verstanden.

    ist es dann nicht möglich die Loading Funktion so umzuschreiben das es die Funktion "ZeitAnzeigen" ignoriert?


    Zuletzt modifiziert von SWaTcHOnER am 28.02.2013 - 14:50:35
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    <script type="text/javascript" src="include/designs/RaisedFist/dhtml.js"></script>
    <script type="text/javascript">
    function ZeitAnzeigen () {
      var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                                    "Donnerstag", "Freitag", "Samstag");
      var Jetzt = new Date();
      var Tag = Jetzt.getDate();
      var Monat = Jetzt.getMonth() + 1;
      var Jahr = Jetzt.getYear();
      if (Jahr < 999)
        Jahr += 1900;
      var Stunden = Jetzt.getHours(23) +1;
      var Minuten = Jetzt.getMinutes();
      var Sekunden = Jetzt.getSeconds();
      var WoTag = Jetzt.getDay();
      var Vortag = (Tag < 10) ? "0" : "";
      var Vormon = (Monat < 10) ? ".0" : ".";
      var Vorstd = (Stunden < 10) ? "0" : "";
      var Vormin = (Minuten < 10) ? ":0" : ":";
      var Vorsek = (Sekunden < 10) ? ":0" : ":";
      var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
      var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
      var Gesamt = Uhrzeit;
     
      if (DHTML) {
        if (NS4) {
          setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + '<\/span>');
        } else {
          setContent("id", "Uhr", null, Gesamt);
        }
        window.setTimeout("ZeitAnzeigen()", 1000);
      }
    }
    
    document.getElementById("loading").className = "loading-visible";
      var hideDiv = function(){document.getElementById("loading").className = "loading-invisible";};
      var oldLoad = window.onload;
      var zeit = ZeitAnzeigen();
      var newLoad = oldLoad ? function(){hideDiv.call(this);zeit.call(this);oldLoad.call(this);} : hideDiv;
      window.onload = newLoad;
    </script>
     
    <div align="center">
    <span id="Uhr" class="Uhr">00:00:00</span><span style="font-family:Arial;color:#8f6e25;">(GMT+2)</span>
    </div>
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    Danke jetzt funktioniert es!
    aber eine frage hätte ich noch zunge

    bei der uhr möchte ich ja GMT +2 angezeigt bekommen und das hinzubekommen
    hab ich das gemacht:
    var Stunden = Jetzt.getHours(23) +1;


    also einfach ein +1 hinter hours gemacht. Ansich funktioniert das auch so, was mich aber total stört ist Wen es bei uns 23Uhr ist dan ist es im skript 24:00uhr und nicht 00:00uhr.

    Zuletzt modifiziert von SWaTcHOnER am 28.02.2013 - 15:02:44
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Wieso GMT +2 ?

    Wir haben GMT +1 in Deutschland O.o

    an den 24:00 wirst du nix ändern können das Script ist halt so ausgelegt.
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    das is mir bewusst das wir GMT+1 haben, nur der Server auf dem wir Spielen befindet sich in GMT+2. Und da es Zeitabhängige Quest und Events gibt braucht man die Server Zeit lachen

    Naja gut dan muss ich mit leben, sieht halt doof aus wen da z.b. steht 24:45.

    Aber mein eigentliches Problem ist gelöst. Vielen Dank Rock!
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    <script type="text/javascript" src="include/designs/RaisedFist/dhtml.js"></script>
    <script type="text/javascript">
    function ZeitAnzeigen () {
      var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                                    "Donnerstag", "Freitag", "Samstag");
      var Jetzt = new Date();
      var Tag = Jetzt.getDate();
      var Monat = Jetzt.getMonth() + 1;
      var Jahr = Jetzt.getYear();
      if (Jahr < 999)
        Jahr += 1900;
      var Stunden = Jetzt.getHours(23) +1;
      var Minuten = Jetzt.getMinutes();
      var Sekunden = Jetzt.getSeconds();
      var WoTag = Jetzt.getDay();
      var Vortag = (Tag < 10) ? "0" : "";
      var Vormon = (Monat < 10) ? ".0" : ".";
      var Vorstd = (Stunden < 10) ? "0" : "";
      var Vormin = (Minuten < 10) ? ":0" : ":";
      var Vorsek = (Sekunden < 10) ? ":0" : ":";
      Stunden = (Stunden == 24) ? "00" : Stunden;
      var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
      var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
      var Gesamt = Uhrzeit;
     
      if (DHTML) {
        if (NS4) {
          setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + '<\/span>');
        } else {
          setContent("id", "Uhr", null, Gesamt);
        }
        window.setTimeout("ZeitAnzeigen()", 1000);
      }
    }
    
    document.getElementById("loading").className = "loading-visible";
      var hideDiv = function(){document.getElementById("loading").className = "loading-invisible";};
      var oldLoad = window.onload;
      var zeit = ZeitAnzeigen();
      var newLoad = oldLoad ? function(){hideDiv.call(this);zeit.call(this);oldLoad.call(this);} : hideDiv;
      window.onload = newLoad;
    </script>
     
    <div align="center">
    <span id="Uhr" class="Uhr">00:00:00</span><span style="font-family:Arial;color:#8f6e25;">(GMT+2)</span>
    </div>


    du kannst das mal versuchen ob es so geht bin ich mir nicht so Schlüssig

    Sei dir Bitte bewust das du dann bei Sommerzeit durch das +1 GMT +3 erhälst
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    Super das klappt auch!

    also muss ich in Sommerzeit das +1 zu -1 ändern damit es wieder stimmt.
    oder irre ich mich da ?

    Die Ganze Uhr ist ja so Suboptimal weil es nur die bei deutschen die richtige zeit anzeigt. Aber ich glaub das kann man auch nicht anderes lösen.
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ne nur das +1 rausnehmen
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten