Benutzerdefinierter Kalendereffekt in JavaScript

Benutzerdefinierter Kalendereffekt in JavaScript

In diesem Artikel wird der spezifische Code des benutzerdefinierten Kalendereffekts in JavaScript zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Implementierungsidee: Holen Sie sich den Wochentag am ersten Tag jedes Monats, füllen Sie dann die vorherigen Tage leer aus, holen Sie sich die Anzahl der Tage in jedem Monat, füllen Sie eine Schleife aus, beurteilen Sie und fügen Sie der aktuellen Zeit einen separaten Stil hinzu und ändern Sie den Monat, wenn Sie auf den vorherigen Monat und den nächsten Monat klicken.

Holen Sie sich den ersten Tag des aktuellen Monats: Der Rückgabewert ist eine Ganzzahl zwischen 0 (Sonntag) und 6 (Samstag).

var date = neues Datum();
var y=date.getFullYear();
var m=date.getMonth();
neues Datum(j,m,1).getDay();

Holen Sie sich die Anzahl der Tage im aktuellen Monat

var date = neues Datum();
var y=date.getFullYear();
var m=date.getMonth();
neues Datum(y,m+1,-1).getDate()+1;

Klicken Sie abschließend auf den Vormonat oder den Folgemonat, um jeweils einen hinzuzufügen bzw. abzuziehen und die gekapselte Kalenderfunktion auszuführen.

Vollständiger Code:

<!DOCTYPE html>
<html lang="de">

<Kopf>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <title>Dokument</title>
    <Stil>
        * {
            Rand: 0;
            Polsterung: 0;
        }

        Körper {
            Hintergrund: #2c3e50;
        }

        .Kalender {
            Breite: 400px;
            Rand: 50px automatisch;
        }

        .Kalender-Tipp {
            Schriftgröße: 16px;
            Textausrichtung: zentriert;
            Farbe: #fff;
        }

        .vorherige {
            schweben: links;
            Cursor: Zeiger;
        }

        .nächste {
            schweben: rechts;
            Cursor: Zeiger;
        }

        .Kalendermonat {
            Textausrichtung: zentriert;
            Rand: 10px 0;
            Farbe: #fff;
        }

        ul {
            Listenstil: keiner;
            Anzeige: Flex;
        }

        li {
            Breite: 57px;
            Textausrichtung: zentriert;
            Höhe: 55px;
            Zeilenhöhe: 55px;
            Schriftgröße: 16px;
            Farbe: #fff;
        }

        .Kalendertag {
            Anzeige: Flex;
        }

        .Kalender-Tagesspanne {
            biegen: 1;
            Farbe: #fff;
            Textausrichtung: zentriert;
            Höhe: 40px;
            Zeilenhöhe: 40px;

        }

        .Kalenderdaten {
            Anzeige: Flex;
            Flex-Wrap: Umwickeln;
        }

        li {
            Breite: 57px;
            Cursor: Zeiger;
        }

        li:hover {
            Hintergrund: #2d3436;
        }

        .Kalenderdaten .on {
            Farbe: #d63031;
        }
    </Stil>
</Kopf>

<Text>
    <div Klasse="Kalender">
        <div Klasse="Kalender-Tipp">
            <span class="prev">Vorheriger Monat</span>
            <em id="year">2022</em>
            <span class="next">Nächsten Monat</span>
        </div>
        <div class="calendar-month">Mai</div>
        <div Klasse="Kalendertag">
            <span>Tag</span>
            <span>Groß</span>
            <span>Zwei</span>
            <span>drei</span>
            <span>Vier</span>
            <span>Fünf</span>
            <span>sechs</span>
        </div>
        <ul Klasse="Kalenderdaten">
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
            <li>1</li>
        </ul>
    </div>
    <Skript>
        var date = neues Datum();
        var Jahr = document.querySelector("#Jahr");
        var Monat = document.querySelector(".calendar-month");
        var Kalenderdaten = document.querySelector(".calendar-data");
        var prev = document.querySelector(".prev");
        var weiter = document.querySelector(".weiter");
        var monthArr = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
        var j, m, Tag, d, html, heute;
        Kalender();

        Funktion Kalender() {
            y = date.getFullYear();
            jahr.innerHTML = y + "jahr";

            m = date.getMonth();
            Monat.innerHTML = MonatArr[m];
            day = new Date(y, m, 1).getDay(); //Ersten Tag jedes Monats abrufen d = new Date(y, m + 1, -1).getDate() + 1; //Anzahl der Tage abrufen html = "";

            //Füge die Zeit vor dem ersten Tag jedes Monats in empty ein for (var i = 0; i < day; i++) {
                html + = "<li> </li>";
            }

            für (var j = 1; j <= d; j++) {
                wenn (y==neues Date().getFullYear() && m==neues Date().getMonth() && j== date.getDate()) {
                    html + = "<li Klasse = 'on'>" + j + "</li>";
                } anders {
                    html + = "<li>" + j + "</li>";
                }

            }
            Kalenderdaten.innerHTML = html;
        }

        vorherige.onclick = Funktion () {
            date.setMonth(date.getMonth() - 1);
            Kalender();
        }

        weiter.onclick = Funktion () {
            date.setMonth(date.getMonth() + 1);
            Kalender();
        }
    </Skript>
</body>

</html>

Wirkung:

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • js css+html zur Realisierung eines einfachen Kalenders
  • Eine Anleitung zur Verwendung von calendar.js, einem leichten nativen JS-Kalender-Plugin
  • JS lernt eine einfache Kalendersteuerung
  • Vue.js erstellt Kalendereffekt
  • JS-Kalender-Empfehlung
  • Reiner js einfacher Kalender-Implementierungscode
  • js Kalendersteuerung (minutengenau)
  • PHP+Javascript-Kalendersteuerung
  • So erstellen Sie einen einfachen Kalender mit js+html
  • JS implementiert einen einfachen Kalender

<<:  Verbesserung der Aktualisierungsfunktion für Zen-Codierungsressourcen

>>:  Google Translate Tool: Mehrsprachige Webseiten schnell umsetzen

Artikel empfehlen

Tutorial zum Bereitstellen von LNMP und Aktivieren des HTTPS-Dienstes

Was ist LNMP: Linux+Nginx+Mysql+(php-fpm,php-mysq...

Detaillierte Schritte zum Ändern gespeicherter MySQL-Prozeduren

Vorwort Bei der tatsächlichen Entwicklung werden ...

Detaillierte Erklärung der JS-Homologiestrategie und CSRF

Inhaltsverzeichnis Überblick Same-Origin-Policy (...

Analyse der Verwendung des Linux-Schwachstellen-Scan-Tools lynis

Vorwort: Lynis ist ein Sicherheitsprüfungs- und H...

4 Möglichkeiten zum Anzeigen von Prozessen in LINUX (Zusammenfassung)

Ein Prozess ist ein Programmcode, der in der CPU ...

MySQL zeigt ein einfaches Operationsbeispiel

Dieser Artikel beschreibt den MySQL-Show-Vorgang ...

Über das Problem der Offline-Installation des Docker-Pakets unter CentOS 8.4

Die verwendete virtuelle Maschine ist CentOS 8.4,...

Implementierung der Multi-Environment-Konfiguration (.env) des Vue-Projekts

Inhaltsverzeichnis Was ist eine Multiumgebungskon...

So starten Sie ein Vue-Projekt mit dem M1 Pro-Chip

Inhaltsverzeichnis Einführung Homebrew installier...

Detaillierte Erklärung der Vue-Anmeldung und -Abmeldung

Inhaltsverzeichnis Login-Geschäftsprozess Impleme...