Kalendereffekt basierend auf jQuery

Kalendereffekt basierend auf jQuery

In diesem Artikelbeispiel wird der spezifische Code von jQuery zur Erzielung des Kalendereffekts als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt

/**
 * 2021/3/6
 * Kalender
 */
 
/* hol y Jahr m Monat vor Tagen
 */
Funktion getBDays(j, m) {
 gibt (neues Datum (y, m, 1) .getDay ()) zurück;
}
 
/* hole y Jahr m Monat Gesamttage
 */
Funktion getTDays( y, m ) {
 gibt zurück (neues Datum (y, m + 1, -1).getDate() + 1);
}
 
/* hole y Jahr m Monat letzte Tage
 */
Funktion getBMDays(j, m) {
 gibt zurück (neues Datum (y, m, -1).getDate() + 1);
}
 
Funktion Kalender( nowDate ) {
 // Jahr, Monat, Tag
 dieses.Jahr = nowDate.getFullYear();
 dieser.Monat = nowDate.getMonth();
 dieser.Tag = nowDate.getDate();
 
 // vor Tagen
 dies.beforeDays = getBDays(dieses.Jahr, dieser.Monat);
 // Tage des aktuellen Monats
 this.totalDays = getTDays(dieses.Jahr, dieser.Monat);
 // Tage des letzten Monats
 diese.letzteTage = getBMDays(dieses.Jahr, dieser.Monat);
 
 // Jetzt Termin vormerken
 dies.nowY = nowDate.getFullYear();
 dies.nowM = nowDate.getMonth();
}
 
Kalender.prototype.initCalendar = Funktion() {
 // Kalender-ID abrufen 
 let calDiv = $("#Kalender").append("<table></table>");
 
 // Kalendertabelle abrufen
 let calTable = $("#Kalender > Tabelle");
 
 // Kalendertabelle hinzufügen tr
 für ( lass n = 0; n < 8; n++ ) {
 calTable.append('<tr></tr>');
 }
 
 // Kalendertabelle abrufen tr: Header
 let calHeadTr = $("#Kalender > Tabelle > tr:erste");
 
 // Kalendertabelle hinzufügen tr th
 für ( lass n = 0; n < 3; n++ ) {
 calHeadTr.append('<th></th>');
 }
 
 // wähle Index > 0 tr
 let calBodyTr = $("#Kalender > Tabelle > tr:gt(0)");
 
 // Kalendertabelle hinzufügen tr td
 für ( lass n = 0; n < 7; n++ ) {
 calBodyTr.append('<td></td>');
 }
}
 
Kalender.prototype.insertDate = Funktion( Kalendername ) {
 // Kalendertabelle abrufen tr td: Header
 let calHeadTh = $("#Kalender > Tabelle > tr:erster > th");
 
 // Header-Inhalt ändern
 $(calHeadTh[0]).html("<a><</a>");
 $(calHeadTh[1]).html(`<a>${this.year} ist ${this.month + 1} Monat</a>`);
 $(calHeadTh[2]).html("<a>></a>");
 
 // Stil zum Header hinzufügen
 $(calHeadTh[1]).attr({
 "colspan" : 5,
 "Titel" : calName
 });
 
 // Wochentags-Arrays
 const calWeekArr = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'];
 
 // Kalendertabelle abrufen tr td: Wochentage
 let calWeekTd = $("#Kalender > Tabelle > tr:eq(1) > td");
 für ( lass n = 0; n < 7; n++ ) {
 $(calWeekTd[n]).html(`<a>${calWeekArr[n]}</a>`);
 }
 
 // Kalendertabelle abrufen tr td: body
 let calBodyTd = $("#Kalender > Tabelle > tr:gt(1) > td");
 
 // vor Tagen einfügen
 für (let n = this.beforeDays – 1, lastDays = this.lastDays;
 n >= 0;
 n--, letzteTage--) {
 $(calBodyTd[n]).html(`<a>${lastDays}</a>`); 
 $(calBodyTd[n]).attr("Klasse", "anderer Tag");
 }
 // aktuelle Tage einfügen
 für (sei n = this.beforeDays, i = 1;
  i <= diese.totalDays; 
  i++, n++) {
 $(calBodyTd[n]).html(`<a>${i}</a>`);
 
 wenn (i == dieser.Tag && 
  (neues Datum(dieses.Jahr, dieser.Monat, 1).getMonth() == dies.jetztM) &&
  (neues Datum(dieses.Jahr, dieser.Monat, 1).getFullYear() == dieses.jetztJ)) {
 $(calBodyTd[n]).attr("Klasse", "heutzutage");
 }
 anders {
 $(calBodyTd[n]).removeAttr("Klasse", "heutzutage");
 }
 }
 
 // nach Tagen einfügen
 für (sei n = this.beforeDays + this.totalDays, i = 1;
 n < calBodyTd.Länge;
 n++, i++) {
 $(calBodyTd[n]).html(`<a>${i}</a>`);
 $(calBodyTd[n]).attr("Klasse", "anderer Tag");
 }
}
 
Calendar.prototype.update = Funktion( neuesDatum ) {
 // Jahr, Monat, Tag
 dieses.Jahr = neuesDatum.getFullYear();
 dieser.Monat = neuesDatum.getMonth();
 dieser.Tag = neuesDatum.getDate();
 
 // vor Tagen
 dies.beforeDays = getBDays(dieses.Jahr, dieser.Monat);
 // Tage des aktuellen Monats
 this.totalDays = getTDays(dieses.Jahr, dieser.Monat);
 // letzte Monatstage
 diese.letzteTage = getBMDays(dieses.Jahr, dieser.Monat);
}
 
Funktion initDate() {
 // Date-Objekt erstellen
 lass jetzt = neues Datum();
 let cal = neuer Kalender(jetzt);
 
 // init und einfügen
 cal.initCalendar();
 cal.insertDate( 'MeinDatum' );
 
 // Klickereignis zu th:first hinzufügen
 $("#Kalender > Tabelle > tr:first > th:first").click(function(){
 jetzt.setMonth( jetzt.getMonth() - 1 );
 cal.update(jetzt);
 cal.insertDate( 'MeinDatum' );
 });                         
 
 // Klickereignis zu th:last hinzufügen
 $("#Kalender > Tabelle > tr:erster > th:letzter").click(function(){
 jetzt.setMonth( jetzt.getMonth() + 1 );
 cal.update(jetzt);
 cal.insertDate( 'MeinDatum' );
 });
}
 
initDate();

html

<!DOCTYPE html>
<html>
 <Kopf>
 <meta charset="utf-8" />
 <title>Dokument</title>
 <link href="css/dateCal.css" rel="stylesheet" media="bildschirm">
 </Kopf>
 <Text>
 <div id="Kalender"></div>
 <script src="js/jquery.js"></script>
 <script src="js/dateCal.js"></script>
 </body>
</html>

CSS:

#Kalender {
 Breite: 200px;
 Polsterung unten: 5px;
 Kastenschatten: 0 1px 3px #ccc;
 Rand: 1px durchgezogen #EDEDED;
}
 
#Kalendertabelle {
 Breite: erben;
 Textausrichtung: zentriert;
 Benutzerauswahl: keine;
 Schriftfamilie: „Comic Sans MS“;
 Rahmen-Zusammenbruch: Zusammenbruch;
 Rahmenabstand: 0px;
}
 
#Kalendertabelle tr th {
 Hintergrund: #f8f8f8;
 Schriftgröße: 12px;
}
 
#Kalendertabelle tr:nth-child(2) {
 Hintergrund: #f8f8f8;
}
 
#Kalendertabelle tr td {
 Schriftgröße: 10px;
}
 
#Kalendertabelle tr td.now-day {
 Farbe: rot;
}
 
#Kalendertabelle tr td.other-day {
 Farbe: hellgrau;
}

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:
  • Implementierung einer Kalender-Anmeldefunktion basierend auf jQuery
  • jQuery EasyUI API Chinesische Dokumentation - Kalendernutzung
  • Die 10 besten jQuery-Kalender-Plugins für Entwickler
  • So implementieren Sie einen Kalender in jQuery
  • Mit jQuery geschriebener Kalender (einschließlich Kalenderstil und -funktionen)
  • Implementierungscode für die jQuery-Kalenderverknüpfung
  • .net MVC-Seiten-UI JQuery Blog Kalender-Steuerung Implementierungscode
  • php+mysql+jquery zur Realisierung der Kalender-Anmeldefunktion
  • JQuery-Kalender-Plugin My97DatePicker Datumsbereichslimit
  • JQuery-Kalender-Plugin zum Erstellen eines einfachen Kalenders

<<:  So installieren Sie MySQL über SSH auf einem CentOS VPS

>>:  Detaillierte Erklärung zu Unique Constraints und NULL in MySQL

Artikel empfehlen

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5

Organisieren Sie die Tutorialnotizen zur Installa...

Dieser Artikel zeigt Ihnen, wie Sie mit CSS-Kombinationsselektoren spielen

CSS-Kombinationsselektoren umfassen verschiedene ...

So lösen Sie das jQuery-Konfliktproblem

In der Frontend-Entwicklung ist $ eine Funktion i...

Implementierung der Nginx-Konfiguration des lokalen Image-Servers

Inhaltsverzeichnis 1. Einführung in Nginx 2. Aufb...

Eine sehr detaillierte Erklärung des Linux DHCP-Dienstes

Inhaltsverzeichnis 1. DHCP-Dienst (Dynamic Host C...

Installieren Sie mysql5.7.13 mit RPM in CentOS 7

0. Umwelt Betriebssystem für diesen Artikel: Cent...

Detaillierte Erklärung der Datentypen in den JavaScript-Grundlagen

Inhaltsverzeichnis 1. Datentyp 1.1 Warum brauchen...

So erstellen Sie einen Nginx-Server mit Docker

Betriebsumgebung: MAC Docker-Version: Docker vers...

Schritte zum Aktivieren von TLS in Docker für eine sichere Konfiguration

Vorwort Ich hatte zuvor die 2375 Remote API von D...

Informationen zum Debuggen von CSS-Cross-Browser-Style-Fehlern

Als Erstes müssen Sie einen guten Browser auswähl...

Erste Schritte mit TS (TypeScript) im Vue-Projekt

Inhaltsverzeichnis 1. Einführung in Typescript 2....