commit | author | age
|
231393
|
1 |
<!DOCTYPE html> |
U |
2 |
<html> |
|
3 |
<head> |
|
4 |
<title>Monatsbox-Demo</title> |
|
5 |
<meta charset="UTF-8"> |
|
6 |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
7 |
<link rel="stylesheet" type="text/css" href="monatsbox.css"> |
|
8 |
<link rel="stylesheet" type="text/css" href="stile.css"> |
|
9 |
</head> |
|
10 |
<body> |
|
11 |
<h3>Monatsbox-Demo</h3> |
|
12 |
|
|
13 |
<p> |
|
14 |
Diese Demoseite zeigt die Monatsbox in Aktion. Die Bedienelemente |
|
15 |
können direkt in der Seite ausprobiert werden. Einzelheiten |
aec40e
|
16 |
zu deren Funktionsweise erläutert die <a href="https://uhilger.de/data/pg/monatsbox/">Produktseite</a>. |
231393
|
17 |
</p> |
U |
18 |
|
|
19 |
<h4><span class="monat"></span> <span class="jahr"></span></h4> |
|
20 |
<div class="nav"><a onclick="zurueck()">←</a> <a onclick="vor()">→</a></div> |
|
21 |
<div class="monatsbox">Monatsbox</div> |
|
22 |
<div class="datum-anzeige">Gewähltes Datum: <span class="datum-wahl">-</span></div> |
|
23 |
<div class="ereignis-eingabe">Tage mit Ereignissen: |
|
24 |
<input class="ereignisliste" type="text" onkeyup="ereignisseDarstellen()"> |
|
25 |
<br/> <span class="kleiner">(mit Komma getrennt, z.B. 3,7,19)</span> |
|
26 |
</div> |
|
27 |
<div> |
|
28 |
<label>Ruhetag: |
|
29 |
<select id="rtag" size="1" onchange="rtagWechsel()"> |
|
30 |
<option value="0">Sonntag</option> |
|
31 |
<option value="1">Montag</option> |
|
32 |
<option value="2">Dienstag</option> |
|
33 |
<option value="3">Mittwoch</option> |
|
34 |
<option value="4">Donnerstag</option> |
|
35 |
<option value="5">Freitag</option> |
|
36 |
<option value="6">Samstag</option> |
|
37 |
</select> |
|
38 |
</label> |
|
39 |
</div> |
|
40 |
<div> |
|
41 |
<label>Erster Tag: |
|
42 |
<select id="etag" size="1" onchange="etagWechsel()"> |
|
43 |
<option value="1">Montag</option> |
|
44 |
<option value="2">Dienstag</option> |
|
45 |
<option value="3">Mittwoch</option> |
|
46 |
<option value="4">Donnerstag</option> |
|
47 |
<option value="5">Freitag</option> |
|
48 |
<option value="6">Samstag</option> |
|
49 |
<option value="0">Sonntag</option> |
|
50 |
</select> |
|
51 |
</label> |
|
52 |
</div> |
|
53 |
<script src="monatsbox.js"></script> |
|
54 |
<script> |
|
55 |
var jahr; |
|
56 |
var monat; |
|
57 |
var starttag = 1; |
|
58 |
var ruhetag = 0; |
|
59 |
var monatsnamen = new Array("Januar", "Februar", "März", "April", "Mai", |
|
60 |
"Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); |
|
61 |
var tagesnamen = new Array("Sonntag","Montag", "Dienstag", "Mittwoch", |
|
62 |
"Donnerstag", "Freitag", "Samstag"); |
|
63 |
var fabrik = new MonatsboxFabrik(); |
|
64 |
var ereignisse = new Map; |
|
65 |
document.addEventListener('DOMContentLoaded', function () { |
|
66 |
document.querySelector('.ereignisliste').value = ''; |
|
67 |
var jetzt = new Date(); |
|
68 |
jahr = jetzt.getFullYear(); |
|
69 |
monat = jetzt.getMonth(); |
|
70 |
boxAnzeigen(); |
|
71 |
}); |
|
72 |
|
|
73 |
function zurueck() { |
|
74 |
if(--monat < 0) { |
|
75 |
--jahr; |
|
76 |
monat = 11; |
|
77 |
} |
|
78 |
boxAnzeigen(); |
|
79 |
} |
|
80 |
|
|
81 |
function vor() { |
|
82 |
if(++monat > 11) { |
|
83 |
++jahr; |
|
84 |
monat = 0; |
|
85 |
} |
|
86 |
boxAnzeigen(); |
|
87 |
} |
|
88 |
|
|
89 |
function ereignisseDarstellen() { |
|
90 |
var ereignisInhalt = document.querySelector('.ereignisliste').value; |
|
91 |
ereignisse = new Map; |
|
92 |
var teile = ereignisInhalt.split(','); |
|
93 |
for(var i = 0; i < teile.length; i++) { |
|
94 |
ereignisse.set(Number(teile[i]), 'monatsboxFeiertag'); |
|
95 |
} |
|
96 |
boxAnzeigen(); |
|
97 |
} |
|
98 |
|
|
99 |
function rtagWechsel() { |
|
100 |
ruhetag = Number(document.querySelector('#rtag').value); |
|
101 |
boxAnzeigen(); |
|
102 |
} |
|
103 |
|
|
104 |
function etagWechsel() { |
|
105 |
starttag = Number(document.querySelector('#etag').value); |
|
106 |
boxAnzeigen(); |
|
107 |
} |
|
108 |
|
|
109 |
function boxAnzeigen() { |
|
110 |
document.querySelector('.jahr').textContent = jahr; |
|
111 |
document.querySelector('.monat').textContent = monatsnamen[monat]; |
|
112 |
var elem = document.querySelector('.monatsbox'); |
|
113 |
elem.removeChild(elem.firstChild); |
|
114 |
document.querySelector('.datum-wahl').textContent = 'Kein Datum ausgewählt.'; |
|
115 |
elem.appendChild(fabrik.monatsboxErzeugen(jahr, monat, starttag, ruhetag, ereignisse, function(event) { |
|
116 |
var d = fabrik.datum(event); |
|
117 |
document.querySelector('.datum-wahl').textContent = |
|
118 |
d.toLocaleDateString('de-DE') + ' (' + |
|
119 |
d.toISOString() + ')'; |
|
120 |
})); |
|
121 |
} |
|
122 |
</script> |
|
123 |
</body> |
|
124 |
</html> |