0 Daumen
1,1k Aufrufe

Guten Morgen

Bitte, wie bekomme ich einen Erfog

[html switch Tage odd even] mit JavaScript

Danke

Arnold


Code:

<!DOCTYPE html>

<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>background color 1</title>

<style>
html {width:100%; height:100%;}
.day-even {
background: -webkit-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
background: -moz-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
background: -ms-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
background: -o-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
background: radial-gradient(at top left, #ff0000, #ffffff, #ff0000);}

.day-odd {
background: -webkit-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
background: -moz-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
background: -ms-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
background: -o-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
background: radial-gradient(at top left, #66ccff, #ffffff);}
</style>

<script type="javascript">
var today;
var newClass = classNames[ document.body.className ];   
switch (new Date().getDay().toString();)
{
  case ((today & 0) == 0):
    today = document.body.className = 'day-even',
    break;
  case (today & 1):
    today = document.body.className = "day-odd",
    break;
}
</script>

</head>
<body class="day-even day-odd">

</body>

</html>
Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Hallo,

ich bin nicht ganz sicher, was du erreichen möchtest. getDay() liefert dir den Wochentag zurück. Es scheint mir aber eher, als dass du prüfen möchtest, ob der aktuelle Tag des Monats gerade oder ungerade ist. Hierfür musst du getDate() benutzen. 
Ich habe den Code etwas angepasst, lasse die getDay()-Methode aber erstmal unverändert.

Muss das ganze mit einem Switch Statement realisiert werden? Mit einem einfachen if-else sähe das so aus:

<!DOCTYPE html>
<html>

<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>background color 1</title>

    <style>
        html { width: 100%; height: 100%; }

        .day-even {
            background: -webkit-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
            background: -moz-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
            background: -ms-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
            background: -o-radial-gradient(0% 0%, circle cover, #ff0000 0%, #ffffff 50%, #ff0000 100%);
            background: radial-gradient(at top left, #ff0000, #ffffff, #ff0000);
        }

        .day-odd {
            background: -webkit-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
            background: -moz-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
            background: -ms-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
            background: -o-radial-gradient(0% 0%, circle cover, #66CCFF 0%, #ffffff 100%);
            background: radial-gradient(at top left, #66ccff, #ffffff);
        }
    </style>

</head>
<body>

<script>
    if (new Date().getDay() % 2 === 0) {
        document.body.classList.add("day-even");
    } else {
        document.body.classList.add("day-odd");
    }
</script>

</body>

</html>

Falls es doch ein Switch sein muss, würde sich folgendes anbieten:

<script>
    switch (new Date().getDay() % 2) {
        case 0:
            document.body.classList.add("day-even");
            break;
        case 1: // oder default
            document.body.classList.add("day-odd");
    }
</script>

Avatar von

# Larry

Vielen Dank :)

Wenn ich das richtig Verstanden habe, so kommt der Script ins Body und nicht ins Head

Alle zwei Propositionnen passen Ausgezeichnet! Natürlich das statment if() else() passen besser für dieses Thema..

Es ist doch ein GlücksTag, denn schon lange wollte ich für jeden WochenTag ene andere WebSeite anzeigen.....

[resolved]

Wenn ich das richtig Verstanden habe, so kommt der Script ins Body und nicht ins Head

Nicht zwingend, hier hast du aber sonst das Problem, dass zuerst das Skript geladen wird und danach der Body mit seinen Elementen. D.h. JavaScript greift auf Objekte zu, die noch gar nicht vorhanden sind.
(Das ließe sich i.Ü. auch anders beheben)

#Larry

Danke,

Ja, warum Kompliziert wenn Einfach... ! :)

https://arenas.pagesperso-orange.fr/Table-OneDrive/Table-OneDrive.html

Danke

Arnold

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community