Mit JavaScript nach Zeit css einlesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mit JavaScript nach Zeit css einlesen

    Hallo,

    ich versuche das mein Script nach Zeit die css einliest.

    z.b von 7 uhr morgens bis abends 20 uhr die tag.css und von 20 uhr abends bis 7 uhr morgens die nacht css. Ich weiss einfach nicht was ich falsch mache geschweige warums net geht. Vieleicht kann mir einer von euch helfen.

    Hier mal mein code

    Quellcode

    1. <script type="text/javascript">
    2. var css = "";
    3. var jetzt = new Date();
    4. var Std = jetzt.getHours();
    5. if (Std >= 7 || Std < 20) {
    6. css = "tag.css";
    7. } else if (Std >= 20 || Std < 6) {
    8. css = "nacht.css";
    9. }
    10. document.write('<link rel="stylesheet" type="text/css" href="<link rel="stylesheet" type="text/css" href="css/' + css + '" />');
    11. </script>
    Alles anzeigen


    Wenn ich ' + css + ' mit dem direkten dateinmalnem sprich tag.css ersetze klapt es aber so nicht :(

    lg
    Dragon


    // UPDATE by vince : Titel für die Nachwelt von Java auf JavaScript geändert
    Riek-Media.com - Webhosting riek-media.com
  • Hi

    Ich bin mir nicht sicher ob es so überhaupt geht, denn JS fügt ja dann sozusagen "nachträglich" den Link zur CSS Datei hinzu und dann kann es nicht mehr geparst werden.
    Ich würde für diese Aufgabe PHP Codeschnipsel nehmen:

    Quellcode

    1. $std = Date("G");
    2. if ($std >= 7 && $std < 20) {
    3. $css = "tag.css";
    4. } elseif ($std >= 20 || $std < 7) {
    5. $css = "nacht.css";
    6. }
    7. print('<link rel="stylesheet" type="text/css" href="<link rel="stylesheet" type="text/css" href="css/' . $css . '" />');


    ansonsten, wenn Du php nicht magst:

    in ersten if muss ein UND hin, weil 23 Uhr ist auch >=7, also würde er automatisch tag.css nehmen. und zwischen 6 und 7 morgens gibt es bei Dir eine Lücke.

    mfG
  • Vielen leieb dank.

    habe das Problem bereits lösen können. Hier mal meine lösung

    Quellcode

    1. <script type="text/javascript">
    2. function setCSS() {
    3. var css = "tag.css";
    4. var jetzt = new Date();
    5. var Std = jetzt.getHours();
    6. var headTag = document.getElementsByTagName("head")[0];
    7. var cssTag = document.createElement('link');
    8. if (Std >= 19) { css = "nacht.css"; }
    9. if (Std <= 7) { css = "tag.css"; }
    10. cssTag.type = 'text/css';
    11. cssTag.rel = 'stylesheet';
    12. cssTag.href = 'css/standard/' + css;
    13. cssTag.media = 'screen';
    14. headTag.appendChild(cssTag);
    15. return true;
    16. }
    17. </script>
    Alles anzeigen



    Quellcode

    1. <body onload="setCSS();">


    damit hat es wunderbar geklapt. DOM ist besser als document.write und einfache if Schleifen sind leichter einzubauen

    Lg
    Dragon
    Riek-Media.com - Webhosting riek-media.com
  • Hallo leider nicht ganz

    kann mir das nicht jemand machen das es funktionier? Er wechselt zwar abends dann auf das andere bild jedoch nachts ist er dann wieder auf dem anderen.

    Hier nochmal mein code

    Quellcode

    1. <script type="text/javascript">
    2. function setCSS() {
    3. var css = "tag.css";
    4. var jetzt = new Date();
    5. var Std = jetzt.getHours();
    6. var headTag = document.getElementsByTagName("head")[0];
    7. var cssTag = document.createElement('link');
    8. if (Std >= 22) { css = "nacht.css"; }
    9. if (Std <= 7) { css = "tag.css"; }
    10. cssTag.type = 'text/css';
    11. cssTag.rel = 'stylesheet';
    12. cssTag.href = 'css/' + css;
    13. cssTag.media = 'screen';
    14. headTag.appendChild(cssTag);
    15. return true;
    16. }
    17. </script>
    Alles anzeigen
    Riek-Media.com - Webhosting riek-media.com
  • d0nut schrieb:

    schau dir deine Bedingungen mal an:

    Nachts = stunde >= 22: das sind die Stunden 22 und 23
    Tag = stunde <=7: das sind die Stunden 0,1,2,3,4,5,6,7

    sieht für mich eher nach nacht aus ;)
    Soll heißen:

    Quellcode

    1. if (Std <= 7) { css = "nacht.css"; }


    Der Default ist ja sowieso tag



    Danke dir hab es denke ich mal nun ans laufen bekommen. Bis jetzt macht er keine fehler :)

    Hier mal mein code

    Quellcode

    1. <script type="text/javascript">
    2. function setCSS() {
    3. var css = "tag.css";
    4. var jetzt = new Date();
    5. var Std = jetzt.getHours();
    6. var headTag = document.getElementsByTagName("head")[0];
    7. var cssTag = document.createElement('link');
    8. if (Std >= 22) { css = "nacht.css"; }
    9. if (Std <= 7) {css="nacht.css";}
    10. if (Std >= 7) { css = "tag.css"; }
    11. <!--if (Std >= 22) { css = "tag.css"; }-->
    12. cssTag.type = 'text/css';
    13. cssTag.rel = 'stylesheet';
    14. cssTag.href = 'css/' + css;
    15. cssTag.media = 'screen';
    16. headTag.appendChild(cssTag);
    17. return true;
    18. }
    19. </script
    Alles anzeigen


    Besten Dank für eure mühe.

    lg
    Dragon
    Riek-Media.com - Webhosting riek-media.com