From a78c7aa1bee6f8bdd9a7be9bd943066cb77f1049 Mon Sep 17 00:00:00 2001 From: Philippe Torrel Date: Wed, 15 Jul 2026 14:11:18 +0200 Subject: [PATCH] --- 03_dom/faq/ordered-list.html | 41 +++ .../u08-09_newsboard/assets/css/main.css | 239 ++++++++++++++++++ .../u08-09_newsboard/assets/img/empty.png | Bin 0 -> 5270 bytes .../u08-09_newsboard/assets/img/paperclip.png | Bin 0 -> 2658 bytes .../u08-09_newsboard/assets/img/sheets.png | Bin 0 -> 3591 bytes .../u08-09_newsboard/assets/js/main.js | 73 ++++++ .../u08-09_newsboard/assets/js/messages.js | 19 ++ 03_dom/uebungen/u08-09_newsboard/index.html | 54 ++++ .../u10_running-lights/assets/css/main.css | 4 + .../assets/img/light_off.png | Bin 0 -> 8152 bytes .../assets/img/light_on.png | Bin 0 -> 9560 bytes .../assets/js/libs/helpers.js | 92 +++++++ .../assets/js/libs/jquery.min.js | 2 + .../u10_running-lights/assets/js/main.js | 20 ++ 03_dom/uebungen/u10_running-lights/index.html | 41 +++ 03_dom/uebungen/uebungen-8-10.zip | Bin 0 -> 72292 bytes .../03_newsboard-lernheft/assets/js/main.js | 50 ++++ .../tag23/03_newsboard-lernheft/index.html | 2 +- .../assets/css/main.css | 239 ++++++++++++++++++ .../assets/img/empty.png | Bin 0 -> 5270 bytes .../assets/img/paperclip.png | Bin 0 -> 2658 bytes .../assets/img/sheets.png | Bin 0 -> 3591 bytes .../04_newsboard-refactored/assets/js/main.js | 54 ++++ .../assets/js/messages.js | 19 ++ .../tag23/04_newsboard-refactored/index.html | 54 ++++ .../tag23/05_progress-element/index.html | 108 ++++++++ .../tag23/06_attribut-boolean/index.html | 90 +++++++ 27 files changed, 1200 insertions(+), 1 deletion(-) create mode 100644 03_dom/faq/ordered-list.html create mode 100644 03_dom/uebungen/u08-09_newsboard/assets/css/main.css create mode 100644 03_dom/uebungen/u08-09_newsboard/assets/img/empty.png create mode 100644 03_dom/uebungen/u08-09_newsboard/assets/img/paperclip.png create mode 100644 03_dom/uebungen/u08-09_newsboard/assets/img/sheets.png create mode 100644 03_dom/uebungen/u08-09_newsboard/assets/js/main.js create mode 100644 03_dom/uebungen/u08-09_newsboard/assets/js/messages.js create mode 100644 03_dom/uebungen/u08-09_newsboard/index.html create mode 100644 03_dom/uebungen/u10_running-lights/assets/css/main.css create mode 100644 03_dom/uebungen/u10_running-lights/assets/img/light_off.png create mode 100644 03_dom/uebungen/u10_running-lights/assets/img/light_on.png create mode 100644 03_dom/uebungen/u10_running-lights/assets/js/libs/helpers.js create mode 100644 03_dom/uebungen/u10_running-lights/assets/js/libs/jquery.min.js create mode 100644 03_dom/uebungen/u10_running-lights/assets/js/main.js create mode 100644 03_dom/uebungen/u10_running-lights/index.html create mode 100644 03_dom/uebungen/uebungen-8-10.zip create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/assets/css/main.css create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/empty.png create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/paperclip.png create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/sheets.png create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/main.js create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/messages.js create mode 100644 03_dom/unterricht/tag23/04_newsboard-refactored/index.html create mode 100644 03_dom/unterricht/tag23/05_progress-element/index.html create mode 100644 03_dom/unterricht/tag23/06_attribut-boolean/index.html diff --git a/03_dom/faq/ordered-list.html b/03_dom/faq/ordered-list.html new file mode 100644 index 0000000..57190f9 --- /dev/null +++ b/03_dom/faq/ordered-list.html @@ -0,0 +1,41 @@ + + + + + + Ordered List + + + +
+
+

Ordered List

+ +
    +
  1. Eintrag 01
  2. +
  3. Eintrag 02
  4. +
  5. + Eintrag 03 +
      +
    1. Unterpunkt 01
    2. +
    3. Unterpunkt 02
    4. +
    5. Unterpunkt 03
    6. +
    7. Unterpunkt 04
    8. +
    +
  6. +
  7. Eintrag 04
  8. +
  9. Eintrag 05
  10. +
  11. Eintrag 06
  12. +
+
+
+ + + diff --git a/03_dom/uebungen/u08-09_newsboard/assets/css/main.css b/03_dom/uebungen/u08-09_newsboard/assets/css/main.css new file mode 100644 index 0000000..60e194c --- /dev/null +++ b/03_dom/uebungen/u08-09_newsboard/assets/css/main.css @@ -0,0 +1,239 @@ +* { + margin: 0; +} +html { + font-size: 100%; + padding: 0; + background-attachment: fixed; + background-image: -webkit-linear-gradient(top, #eef0f2, #d3d5d9); + background-image: -moz-linear-gradient(top, #eef0f2, #d3d5d9); + background-image: linear-gradient(to bottom, #eef0f2, #d3d5d9); +} +body { + color: #333; + font-size: 1em; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-align: left; + margin: 1em; + padding: 0; +} +p, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-bottom: 1rem; +} +p { + line-height: 1.5em; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} +p:last-child { + margin-bottom: 0; +} +a { + color: #2f83e8; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +strong, +b { + font-weight: bold; +} +em, +i { + font-style: italic; +} +.float_left { + float: left; +} +.float_right { + float: right; +} +.disabled { + opacity: 0.4; + cursor: default; +} +.message_number { + color: #fff; + font-size: 0.8em; + font-weight: bold; + text-align: center; + line-height: 1em; + position: absolute; + top: -0.5em; + left: -0.5em; + display: block; + padding-top: 0.3em; + min-width: 2em; + height: 2em; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + cursor: default; + background-color: #ea2314; + background-image: -webkit-linear-gradient(top, #f78f91, #c50404); + background-image: -moz-linear-gradient(top, #f78f91, #c50404); + background-image: linear-gradient(to bottom, #f78f91, #c50404); + border: 2px solid #fff; + -webkit-border-radius: 1em; + -moz-border-radius: 1em; + border-radius: 1em; + -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); +} +.newsboard_wrapper { + margin: 0 auto 2em auto; + padding: 13px 0 0 17px; + max-width: 550px; + position: relative; + background: url('../img/sheets.png') no-repeat; +} +.newsboard_wrapper:before { + content: url('../img/paperclip.png'); + position: absolute; + top: 5px; + right: 35px; + z-index: 1; +} +.newsboard_wrapper .newsboard { + padding: 29px 1.25rem 4rem 1.25rem; + min-height: 20em; + position: relative; + border: 1px solid #ccc; + background-color: #fff; + background-image: -webkit-linear-gradient(#dddddd, #ffffff 1px); + background-image: -moz-linear-gradient(#dddddd, #ffffff 1px); + background-image: linear-gradient(#dddddd, #ffffff 1px); + background-position: 0 1.3em; + -webkit-background-size: 100% 1.5em; + -moz-background-size: 100% 1.5em; + background-size: 100% 1.5em; + -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); +} +.newsboard_wrapper .newsboard .close_button { + color: #777; + font-size: 1.2em; + text-decoration: none; + line-height: 1em; + position: absolute; + top: 10px; + right: 14px; + display: block; +} +.newsboard_wrapper .newsboard .close_button:hover { + color: #444; +} +.newsboard_wrapper .newsboard .newsboard_footer { + color: #999; + font-size: 0.8em; +} +.newsboard_wrapper .newsboard .paging_bar { + font-size: 1.8em; + padding: 0 1.25rem; + position: absolute; + left: 0; + right: 0; + bottom: 1rem; + white-space: nowrap; +} +.newsboard_wrapper .newsboard .paging_bar .float_left a, +.newsboard_wrapper .newsboard .paging_bar .float_right a { + color: #777; + text-decoration: none; +} +.newsboard_wrapper .newsboard .paging_bar .float_left a { + margin-right: 0.3em; +} +.newsboard_wrapper .newsboard .paging_bar .float_right a { + margin-left: 0.3em; +} +.newsboard_wrapper .newsboard .paging_bar .progressbar { + display: block; + width: 40%; + margin: 0 auto; +} +.newsboard_wrapper .newsboard .paging_bar progress { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + vertical-align: 0; + line-height: normal; + color: #2f83e8; + width: 100%; + height: 0.6rem; + border-style: none; + padding: 0; + background-color: #eee; + -webkit-border-radius: 0.3rem; + -moz-border-radius: 0.3rem; + border-radius: 0.3rem; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); +} +.newsboard_wrapper .newsboard .paging_bar progress::-webkit-progress-bar { + padding: 0; + border-style: none; + background-color: transparent; +} +.newsboard_wrapper .newsboard .paging_bar progress::-webkit-progress-value { + -webkit-border-radius: 0.3rem; + border-radius: 0.3rem; + background-color: #2f83e8; + background-image: -webkit-linear-gradient(top, #8bbaf2, #176acd); + background-image: linear-gradient(to bottom, #8bbaf2, #176acd); +} +.newsboard_wrapper .newsboard .paging_bar progress::-moz-progress-bar { + -moz-border-radius: 0.3rem; + border-radius: 0.3rem; + background-color: #2f83e8; + background-image: -moz-linear-gradient(top, #8bbaf2, #176acd); + background-image: linear-gradient(to bottom, #8bbaf2, #176acd); +} +.newsboard_wrapper .newsboard .newsboard_content h1, +.newsboard_wrapper .newsboard .newsboard_content h2 { + font-weight: normal; + font-family: + 'Helvetica Neue Light', 'HelveticaNeue-Light', 'Helvetica Light', 'Helvetica-Light', Helvetica, Arial, sans-serif; + letter-spacing: 0.03em; +} +.newsboard_wrapper .newsboard .newsboard_content h1 { + font-size: 1.75em; +} +.newsboard_wrapper .newsboard .newsboard_content h2 { + color: #2f83e8; + font-size: 1.2em; + line-height: 1.4em; +} +.newsboard_wrapper .newsboard .newsboard_content:empty { + color: #999; + font-size: 1.15em; + text-align: center; + padding-top: 10.5rem; + background: url('../img/empty.png') no-repeat center 3.75rem; +} +.newsboard_wrapper .newsboard .newsboard_content:empty:after { + content: 'Keine neuen Mitteilungen.'; +} + +.sr-only { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; + display: inline-block !important; +} diff --git a/03_dom/uebungen/u08-09_newsboard/assets/img/empty.png b/03_dom/uebungen/u08-09_newsboard/assets/img/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d650b1b78887a3516f6357dc094da5b9088979af GIT binary patch literal 5270 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 QO#lD@07*qoM6N<$f*W@tL;wH) literal 0 HcmV?d00001 diff --git a/03_dom/uebungen/u08-09_newsboard/assets/img/sheets.png b/03_dom/uebungen/u08-09_newsboard/assets/img/sheets.png new file mode 100644 index 0000000000000000000000000000000000000000..14680cbc1301ad6934e18960b52d5224b780173f GIT binary patch literal 3591 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 Pb~1L>N3F^%&&2-^^j01| literal 0 HcmV?d00001 diff --git a/03_dom/uebungen/u08-09_newsboard/assets/js/main.js b/03_dom/uebungen/u08-09_newsboard/assets/js/main.js new file mode 100644 index 0000000..d5f6676 --- /dev/null +++ b/03_dom/uebungen/u08-09_newsboard/assets/js/main.js @@ -0,0 +1,73 @@ +'use strict'; + +(() => { + // === DOM & VARS ======= + const module = document.querySelector('.newsboard') || console.error('newsboard not found'); + const DOM = { + messageNumber: module.querySelector('.message_number'), + newsboardContent: module.querySelector('.newsboard_content'), + buttonNext: module.querySelector('.button-next'), + buttonLast: module.querySelector('.button-last'), + buttonPrev: module.querySelector('.button-prev'), + buttonFirst: module.querySelector('.button-first'), + progressBar: module.querySelector('.progressbar progress'), + }; + + console.log(DOM); + + // === INIT ============= + const init = () => { + // Funktionaufrufe zu beginn der Anwendung + showMessageByNumber(1); + initProgressbar(); + + // Eventlauscher zu beginn der Anwendung + DOM.buttonNext.addEventListener('click', onClickNext); + DOM.buttonPrev.addEventListener('click', onClickPrev); + window.addEventListener('keyup', onKeyUp); + }; + + // === EVENTHANDLER ===== + const onKeyUp = (e) => { + // Übung 8.3 && 8.4 Tastatursteuerung + }; + + const onClickNext = (e) => { + showMessageByNumber((DOM.progressBar.value += 1)); + }; + const onClickPrev = (e) => { + showMessageByNumber((DOM.progressBar.value -= 1)); + }; + // === XHR/FETCH ======== + + // === FUNCTIONS ======== + const showMessageByNumber = (n) => { + DOM.newsboardContent.innerHTML = MESSAGES[n - 1]; + }; + + const initProgressbar = () => { + DOM.progressBar.max = MESSAGES.length; + DOM.progressBar.value = 1; + }; + + init(); +})(); + +// Übung 8: Newsboard: Das geht noch besser +// Das Newsboard wartet noch auf das Vervollständigen seiner Funktionen. + +// 1. Belege die Links » und « mit Funktionalität. Der Link mit der Aufschrift « soll es erlauben, zur ersten Nachricht zu springen, der Link » zur letzten. + +// 2. Der bisher eher sinnlose rote Kreis in der linken oberen Ecke soll nun die Gesamtanzahl der Nachrichten anzeigen. Schreibe eine Funktion, die diese Anzahl ausliest und in das mit der Klasse message_number einträgt. + +// 3. Unterstütze ab sofort das Navigieren durch die News mit der Tastatur. Die Pfeiltasten nach links und rechts sollen dabei jeweils die gleiche Funktionalität wie die Buttons < und > ermöglichen. + +// 4. Auch das Springen auf die erste bzw. letzte Position soll nun mit Tastatur möglich sein. Die Tastenkombination dafür ist alt und die Pfeiltaste nach links (zur ersten Nachricht) bzw. rechts (zur letzten Nachricht). + +// Übung 9: Newsboard: Jetzt ist aber Schluss! + +// Die neuen Features des Newsboards sind schon fast fertig. Problematisch ist aber, dass die Vorwärts- und Rückwärts-Buttons auch aktiv sind, wenn es keine vorige bzw. nächste Nachricht mehr gibt. Dies führt zu einem sehr unschönen Fehler. + +// 2. Sorge dafür, dass die Vor- und Rückwärts-Buttons jeweils deaktiviert werden, sobald der Anwender am Anfang bzw. Ende der Nachrichtenliste angekommen ist. + +// 3. Auch die Buttons, die den Anwender zur ersten bzw. zur letzten Nachricht führen, sollen deaktiviert sein, sobald sich der Anwender bei der ersten bzw. letzten Nachricht befindet. diff --git a/03_dom/uebungen/u08-09_newsboard/assets/js/messages.js b/03_dom/uebungen/u08-09_newsboard/assets/js/messages.js new file mode 100644 index 0000000..0b78d36 --- /dev/null +++ b/03_dom/uebungen/u08-09_newsboard/assets/js/messages.js @@ -0,0 +1,19 @@ +// Konfigurationsvariablen + +const MESSAGES = [ + `

Tutors are on a strike!!!

+

All assignmnent are automatically graded with 0 points

+

Duis pretium ornare odio nec cursus. Nulla quis dolor vitae nulla condimentum maximus nec vitae purus. Curabitur ut mi non nulla molestie porta. Curabitur dignissim lacinia condimentum. In hac habitasse platea dictumst. Mauris ut urna magna. Mauris venenatis eu quam nec posuere. Nulla facilisi. Donec convallis sodales massa, et consequat nunc vehicula malesuada.

+ `, + + `

Madness!

+

How to earn a fortune, with a complete stupid idea

+

Ut molestie elementum risus, eget rutrum dui tristique id. Duis ac elit a mi convallis lacinia. Sed at ultricies magna. Pellentesque nisl est, mattis eget porta eu, rhoncus in urna. Integer faucibus lectus nec malesuada tempus. Duis consectetur sollicitudin ultricies. Cras massa nulla, aliquet vitae interdum quis, venenatis at quam.

+ `, + + `

I did something, and you will never guess what happened next...

+

Donec tristique, leo at suscipit pellentesque, mauris neque congue leo!

+

Aenean egestas mauris at neque egestas hendrerit id ut erat. Donec iaculis ornare gravida. Vestibulum condimentum, tortor nec eleifend consectetur, justo lacus dignissim ante, eget commodo enim urna sollicitudin arcu. Odio eu leo pulvinar rutrum sed a turpis. Nunc dui tortor, rutrum vitae gravida quis, hendrerit a massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas

+

Integer non venenatis tellus. Phasellus tellus leo, suscipit ac vulputate non, varius nec eros. Etiam scelerisque nisi arcu, interdum tempus dui volutpat vel. Donec eget posuere nulla. Etiam ornare dapibus tortor, ac sollicitudin nisi porta a. Donec tristique, leo at suscipit pellentesque, mauris neque congue leo, sed tempor massa justo a ligula. Curabitur vitae rhoncus lacus, quis varius felis. Ut tincidunt sit amet nisl finibus tempus. Curabitur mollis sit amet leo a sagittis.

+ `, +]; diff --git a/03_dom/uebungen/u08-09_newsboard/index.html b/03_dom/uebungen/u08-09_newsboard/index.html new file mode 100644 index 0000000..d4137ff --- /dev/null +++ b/03_dom/uebungen/u08-09_newsboard/index.html @@ -0,0 +1,54 @@ + + + + + + Newsboard + + + + + + + + + +
+
+ X + + × + +
+ +
+ + + + + + + + + + + + + +
+
+
+ + diff --git a/03_dom/uebungen/u10_running-lights/assets/css/main.css b/03_dom/uebungen/u10_running-lights/assets/css/main.css new file mode 100644 index 0000000..0a9dcdd --- /dev/null +++ b/03_dom/uebungen/u10_running-lights/assets/css/main.css @@ -0,0 +1,4 @@ +.light-bulbs{ + padding: 1rem; + border: 2px solid #555; +} \ No newline at end of file diff --git a/03_dom/uebungen/u10_running-lights/assets/img/light_off.png b/03_dom/uebungen/u10_running-lights/assets/img/light_off.png new file mode 100644 index 0000000000000000000000000000000000000000..404347277f5a09799ee2f9d2d20dcaa4b811ff16 GIT binary patch literal 8152 zcmb_hg;!MV*B!c*2I=mS8cL9mF3BM!6+~hHDFtNc25Ark5os9VMM;UFySqcWl#=`& zet*Nq8kn^P?&aL`?6c24`$Xz$s}SMS;6oq~A~jVdJ@B4-|BZ_ce#)T1SHT;$jfRR6 zcn4qq6dMA;8=jl0i3bEiKz9F)2Fd(H4L-#2RMUEfGl56{fR`tXWUL+nVYF9Mk~i>~ z-Ou)hksF_PHH$Q~w2ekbM6pM*cQR-`M}LiIvQBfrBuI7m!jay7@jJ!AMsa+al|=K+ zb5=|-uj^u^di6}ns@Dr6T_F;f-LIkQK%}&E|Kh)X$<3U12Tg<| zBubHfgEk!;#Ow%mbxe(9+*GdTEU+(1NTo=tNYelB4<|6xIyf#qN8r+RNf^@7(n5s6qoaC9G7pW7jU^-{TNf7SD=I1y`ZlagC<##!L?%nEq?l+K z85tLA@p4C9jDgEL6Q#Aje>oVQ_+iQuGvOl8YP$+>BJ54NH{5F*8uFdze)!y+PK}hC zK|OcI@g^rHPbo#e{o-%z{43+KP#@}lb+&S}f{KWb4>u~sg1}5n@_hgPc37wvv-I0$ z2O;DcmKt&K^M}U95>bbtb-{H@C%~&V@J?1(L?kgYGb#(}$|52{CYAkwudi)!kzsLh zky_M&7@Lq9LPeG4hh@?P(ICdOv$wb29L%2nZi_=oO8Qg@SzWDoey}i7{Yt0t-|sAk zxgY#*oSm5yRdevrn+OK_`cNBvX(VK1!6L5)nV6Z;!0p}Z=$hW0cYak%8gB4*P0z@f zh^}1?O<}@KPES|WFVtpta&oev4x^)|cf7thKH05o)_eY(1P`Ihf0wl;p{}8k|8{pW zv9OR+jg1uion^p3d()cN6x`%dRCU{Uf;_s##l@n&f9yW?*tJ*jz13=r!YJG1{lMt1Vl|@@_QXPg*K=2H?g8->;Tx|4ZOX|Ue`1<;etf0cx z%8j!6PeVgO5=u*X9}_B8HvYlCx&AxU4*!Ik${n@o8x$y2dPr|3K7Z4zeg^5YrS7qnqq|uiqSSj+jKU>K&$B%flCn)^d13%CXSNjeV#V+WC(EtDQbdtVxI=rRnDV(8I1dsu zIr3i)WR8Fgm0Ulaltz}!)&j8J=f%av#dCMEoT?2S5AjrHh-~Pup$iVU-TrJ10Ew@k zpPrgpkB8Hm->dI`{{Afn#bRe|Ew2*K;J;%2iJ_tdy%SESl_eevo*-WCcKU0uZ@POv z4me1Z(0>jiU#K{APF>55;qb@4K0XObERVOX7VTQ^p^<9e)7Muz_;S3)lpjD;-8Q?* z&5&I{T~(C{gmrLmaI!VRN>WzBBQ2ekDdwd7QCSF7CrOxpH^2_m5@C8>gxDCcEYche)(tfE>U0x z{dg8KlB~8?TwBz=RXsl5Ao|83FlxSeGh^8=bMTX-A|Yy6`moW~-Kg(t%c^eV;Hx3H zlS!WYvtq(fD5tCIq0|(?__pWzT`NqA!eg~~DkuAf$~?tH;E8!k4XQvRO_d`lF)b}k zEd`oI2$LDox3XdaC7=>VSFEp_lANroCRO_3PJLo8yGf0fb$}>15M?P~we~ z6&N(4Zt`$=;t1T!%L_(*%}*otI^w@p8oDs zRW@8)+z+PZooD-V9T~&%S$~e#x~3v?Z{`nQIUcphCTE{EFD_+E|8$%lMx&^20v#+< z`V~jHWzCnirL@FEZEyXLIa?1(M>%F@X4bd1Q~_^^M=~w4wV2krF$4So^5b}zqF%rP z9($`drEgBufdT)ZsR-)Up zIag#&P3Zj@H$077bK6?3^hvnIE!63-y3$#x_29&l8B%0PTpr66L^_UPvvFARpIexj zN%v<#8J&zOF}vVHKioAa=9y7K)IwGeO!*c--yIY;_x&v);lsf~1FEyL(=M+benW#^ zsM#`K=P^=hEC@60NzBLy9YXxJ8SD~CxMd<5$Z8IG7M*IsnEiY=Xi1-+;dRcszAcfyG76SZsvT;Y$jaMmnXROUZ?6c=Dc0- z^_3NQKzlW^bVj>Y{+HW@fTKD(J2Tk~R?L15C&=Gyt)K`&0y(f_3j5Of9$x0i-ASMB ztf&QA{!&s>>hX3N+e%d2uJ-ldmi#BqO^#phwn9flbHqSFMP)oEHuOm{36=_KN?_sz z(kG|TvdJ$oC52*Rb2Ez$#u>+0(28-T`!XZ5P^?sO>uP|ON9Ojr4n`x|63!q~tD~f( zUht8n4dpOBe0$=eqeCNRgKN=1^P+r;j)X*>5Ty%)!EUfL%8m4sIJAmDf8l^ieNIbL zxw$;~ngxw1tSem9$_u(#%Ky?;LUl6R@QMmc^GHNp+M&jjM?iq1+{kQy%73Gm0(7mH zLpc_K??RtFd)D3CtI(Iqul3qro26}#es1|-k&q{abjHMF*_Qz_T;@yQbG{XtK(Umn z;e+0yyF`*;X13P7f)RG!-`{U#Ypc(yp(O4+OP-pVs;aGBF#-8y)Y{wK4H^0i*gLf6 z!|9Q=)UV4SD%g)VSXI>?NH|Ig^Ww_-%iUG&QI{m7C0yjy+6YPo_Nc0i&RnmUT))si zVxhr{#;QyW6hmuA2NuwPVTPY~>0v-PFtJDgIuA*af?wmJbHoHUHDQ=GjiS$a-^LuG zSdel%P))o~aRnNbwgWrFKmjp(o=VL(WyQEs`ePO7IeJ!5@>?pqxI8f6F&wBg>KAhJ z^i%?69!gnb2_julBqlNa&*AxQDbL-BKBl+}EIc-=jaUedzwXYfTA(LHhyn2F^J^{E zS#Do>XMsEx3E_eWqxo@U>1|E^;6d z%WK5TCx|fd@$m^~&S%FX*Hnn>0tG?x@TbCv^2WAXkfe66UbQYXIcDtD@uv#B2%TZn z>iS0Hbi7hFlYY0M@F_|%4(mk#wv&@tZGHXf<*5_wdS6(zKy0Z|2@^z?oSbZcPdT*9 zlqhpot5Y~O>4FgDha|jqI%`^ZB=t&<3{E+j$=|WH2dM- zw6bVVzbrCB(MFn;SI_p%D6qSun=Rrf`qFZ1w<`4>fuI1Tvev&l`;e66QU0TNG1OR` zqeqDFR$KDP6ctLShSqjF(8n1w13whK!P~hjUhbeJey;7YkCm(DXK_50cshhpX=tkv#GR@C1*5#B6q zL0dN$%zN+N*SJ0Y%~ zdgVgwcfO4isr1LYo{b8O9YSLEc6Kd2J$OKA)_4)sJfMVt#E*C1Nqe0@-`sJdXZ=*l zwN`}A*Za~-O3n~twi0gwp-y;8j|S$V{%jGlUFa=D@X&I4x}826(cC6@6`;HnfT3G5 z!2;Tqg0cTAy?kt$Ayzp##^1kxhvDS@K%X|%*V7{fcgd9Xzx3E8dE(e>;Qq&XXRZNf zp}~8qh{kgm!dM@8XBoOV+vFr2`% z9;|O{7|KyuUX_~vj3_HF@9FB=d;x76Q}>aK%P$T>JDJP-Q!q5whT_^visvmO+w_g2 zeE;uJ`HevGPSoh=Xg5$!i-C7HrrC13rA-RFyu6|=^VDi;YIhQYJaZl8-R#FQ@gAEt z@XNbFCh;@A$ui4GkwP8$aw80ga@?6BsO+=r#{BtQ{yue~cY}ozo zaf;P12VPG+o8p0yMq*YrozZ}yFl2syJ`i&v=>z(Q2JW788tM;fWEjH>V`NX>ogsjX z2KOUayH;L4xyugGS@K3HqqYnvR-xn~;ol@~ZwicVD zA*&9~`J09|sy;WY7IfDvH;6s90WqTmPS_bN1{%koSW1-CYeZX0QVIgW=|z z&S!0@?23R>{8Itv<(8n~ZO@3fxZA16oi|tK$GyD#v5RRvcIj6=GS}yFe-pE^^bg+g zoBe3JI3_~|EYK(pC0JA6&&)0#j~{he2wFBqfDw)P$rE}Y#;{RB(~Z6&MrE+)YZG5N zzH@a0O>S*(9|}NnT`J`qX1%<>ANwMor7yedFTE?M$*{U=xiaDkX2oz;=3D$ffBxuF z0WFOQg+hINd~!{yUlL=Ym7CTenwp+a@|%XNb;VD~A!$S%KIA-kx7wc}QVV>CW~r(4 z?`sJOZdjZ;bi6nVIAk1ouLKz}weeb-#v3{%#p>vUGw4FG-jbDpI9jHrsDJ|yOCyG0 z!gW||l(h6eHB@CI?f)c62E^|v0biK4kmD#DG06{?1=He&cbRYAy!kGCBK`g+2PT~A z&WCTM#|Cl7hKa3>`mdPmyX&D#(Zp+F5silWX*TC(o&vVN2`Ujz3RLxin=|!I?G;O zUWRenmI92S`uYgs;sPz2nQ#I2lvA_qO@Ls_RZHTSZVr?K>{fD9uZhoRW@d(og>?@s zFgCw?t!ZTV@U~vXI3%R3voTl4?K^tyPF1oxyVw3~=!XxGeBHb^zEuW1p_&}Qdc{g( z-?Z{{xsa|)zb>&TA(+_MZNLD_%ga;M(()H@^Y!${;8ieMsrD7aF`ntcns|E)5N>sG zw1Vw~bzM0eA7S0hg!4R=1XAB61e>=(d? z`8*rVE#3E($Bq95Nz~A$e^g)ES`MwK{R;#WwWWQZZ;7J!;o`G5Z}`Bl5wmDqI>E)m z1CY1DAPWu)^p}tjOglTfaX}=+sy%{aYoP%OrX%CxnaQQvl9q{@-7MIndK%N%Ka3~? z%FM18@h^J}^J{OF$*? zR3I(bnmRc(mFAC0K|w)+DjV|qcQllcs;X*HpcUFvAcT(xpi4}^uG9afS^OX7*Eg+8 zYeoe;6=h|#?NPt^A(_8_nzfU-M)w+BDjdj1~RjfTB6atDYU?15%HbBqRt%CodgPeCS=20^Lv;r-XE-TWsa_MU;I)syxQ%PC5ZDfQ5M0?Zalx|GHr%&DmhXGT|@BAPZbW0hM z#;q*}a2f3?ZvT|oDN0X*ff=n6MrH>P^J3wlw7xQ6KrH)o|(j{p8QdiIR_x#Q1A5 z7vz+bEHX0l!?b*6GZ2VrIVET+#LH>P3CF$bMH1(d_ z2tedd#76usPaHom3WxH8&>=v*yvPke#}+;|UG8Qv!9^0W3ZE?KSYoe3nK*Bhlj_?;h}5tT#_nV_rQP{p*k4}@X`Q>Sy4+j!q>3L@v%OB{1}5> zx!csiQ<`S!hu0NHj{^M&4(7(j(@8U2BBJuM#H$^jrySa!A{rZILc+t1@k+S$zfqfi zlD$j){P`hJ9{Cx{_O^my)(IIIcse>dth}5E!=QC{Nux^3Sl}VvyWsNj@>?VMI5xJn z);pcBVgs9jOfhggZF@7-k6jlV)ziE+H8g^oo8^En9b3W)7?F>kKb8+BFCR2wkvlaceclaT_6geCYPnYo(7O-r@b#-;U`1g;QnYncx!pqO!0c?uL zFZ-$Qc>`FNTcZVi`W6x-E91rb7t6s9WB5J>keJC61A=_%14gITwzf7mzP>6ztj~aJ zIMN(=x6{lisOQ={F+q_f?yLZaZ!zG?d2g|a7Bml32p*XxIubOyYp{5re&Q!OIyUy* zc~1P|>dLtOtF5&)Go^regkbYEDS#?2U))-*Ua^(4v$H{zxt^Yl>SIXYzFBfsR&+~C zi~1Bt`FZQr7#l9Sjg1X4sGOz1J9^0S+FCGZ2q%Y2OS-apWb(d1xu5OL1cQEjvOh-! zEbE})V8wzZ!_tZSe$$3Rfn`CApEqBhLV;e;n#A<%EMn7Fu`C5FQb46E+GC)EB)kvk zz_AFt_;ua>NS6gRG#x4za4i8w(vWb=0-36+s)#8lLSF>lPym)yHj0X1N>K-jivS4v zd<8jwh%2zVBl2LW&rD5e0N#U6cc*N3#*4+0DE&rSdETK87aGF%=YHDW-QLuC?N>Ir z+6h0Jt#Jzfx#&m0z`(FI{hbxa_IubC*>Pnlj-{<^tx?CV0k}mbCzG2u`B6{_n705Q zCLt*)c(Li7?d8e#{g%fXWE?i#{6>(O9v9e?w9h$egp8n4TU1yclK<4s3uv zE-o&ic`oprVEVha7_~A*gF-{GzUpyRkj=Zcz~~SkD1( zkgIf1h!D^XaPV7%2*q9IapmNiO=mDQFiU9)z%$r%;PaXOhYKc1fW$DLNU%w?6IT3T z{#jtS!K`Uxe6!@lMV}|74OpVXLBoukiK=dQxBl~uzGR?*v_F))hA=XIHl>A9w3eX# z^jq&H>CY4+0Gl<3(XV(wFyA{&Tq)`(Wy8x1Q9=xI3JQh7HKMF!Gf*lNJ1I3b;2&dQ zVbuoQNZm6xAO%o7Qx3TT2*c>!-rhD)k0cBXalm4}-)@2t23Wsh{Usx2rG*1@JkkSv zP$(5QH+OempJKjp?9oQri?*eu=1x6)78u7khL)ygdv6La2?YgKr~(?O(%QPZ)}Edo z;=t{4;~7uHuQZssdCcD48@rb;6-p<*0B`GmeG3DFD9bVfp@e*mhrBvJv^`vG0yP3$ zdvsBnSZjF;0EzDKZCkON%{#9Y!oB_d<3Z^|tM%^0EwDRF2?JZIoeVIa`}s)$E{Xxt z@m}8Z@)Ce29d;N`=qs03av1w2Cgrsk0z_55$L8S1$2_ow<{>)k`}Rol5d#U|b1?y< iH|YOAtLX{O8#!oF`&l9GzV7{kUhSE-QiXyQ;{N~~&Yuzh literal 0 HcmV?d00001 diff --git a/03_dom/uebungen/u10_running-lights/assets/img/light_on.png b/03_dom/uebungen/u10_running-lights/assets/img/light_on.png new file mode 100644 index 0000000000000000000000000000000000000000..0230d78f13854c83529a1a7cf6b4de914fc53594 GIT binary patch literal 9560 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 QJTH(^kX41$zBUf}A5Vs&XaE2J literal 0 HcmV?d00001 diff --git a/03_dom/uebungen/u10_running-lights/assets/js/libs/helpers.js b/03_dom/uebungen/u10_running-lights/assets/js/libs/helpers.js new file mode 100644 index 0000000..097d2c2 --- /dev/null +++ b/03_dom/uebungen/u10_running-lights/assets/js/libs/helpers.js @@ -0,0 +1,92 @@ +// Helper DOM Selektion mit $ & $$ +const $ = (qs) => document.querySelector(qs); +const $$ = (qs) => Array.from(document.querySelectorAll(qs)); + +Node.prototype.on = function(name, fn) { + this.addEventListener(name, fn); + return this; +}; + +// // anstatt +// document.querySelector('button').addEventListener('click', (event) => { }); +// // wird zu: +// document.querySelector('button').on('click', (event) => { }); + +Array.prototype.on = Array.prototype.addEventListener = function(name, fn) { + this.forEach((elem) => elem.on(name, fn)); + return this; +}; + +// anstatt +// Array.from(document.querySelectorAll('.menu-main li a')).forEach((elem) => +// elem.addEventListener('click', (event) => { +// console.log(event); +// }) +// ); +// // wird zu +// Array.from(document.querySelectorAll('.menu-main li a')).on( +// 'click', +// (event) => { +// console.log(event); +// } +// ); + + + +// helper +const $on = (el, ev, fn) => { + Array.isArray(el) ? el.forEach(ae => $on(ae, ev, fn)) : + el.addEventListener(ev, fn); + return el; +}; + +// times - funktion +function times(n, fn) { + const result = Array(n); + for (let i = 0; i < n; i++) { + result[i] = fn(i); + } + return result; +} +// oder von lodash +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/* + * range(zahl bis wohin array befüllt werden soll) : array + * - array von 0 bis + parameterzahl (nicht inklusive) + * + * range(anfangswert, endwert) : array + * - array von anfangswert bis endwert (nicht inklusive) + * + * range(nfangswert, endwert, übersprungswert) : : array + * - array von anfangswert bis endwert (nicht inklusive), zwischenwerte durch übersprungswert entfallen +*/ +function rangeFromStartToEnd(start, end, step = 1) { + const length = Math.max(Math.ceil((end - start) / step), 0); + const result = new Array(length); + const sign = step / Math.abs(step); + + let index = 0; + for (let value = start; value * sign < end * sign; value += step) { + result[index++] = value; + } + return result; +}; + + +function range(startOrEnd, end, step) { + if (end) { + return rangeFromStartToEnd(startOrEnd, end, step); + } else { + return rangeFromStartToEnd(0, startOrEnd); + } +}; diff --git a/03_dom/uebungen/u10_running-lights/assets/js/libs/jquery.min.js b/03_dom/uebungen/u10_running-lights/assets/js/libs/jquery.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/03_dom/uebungen/u10_running-lights/assets/js/libs/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 { + // === DOM & VARS ======= + const DOM = {}; + + const LIGHT_PATH_ON = 'assets/img/light_on.png'; + const LIGHT_PATH_OFF = 'assets/img/light_off.png'; + + // === INIT ============= + const init = () => {}; + + // === EVENTHANDLER ===== + + // === XHR/FETCH ======== + + // === FUNCTIONS ======== + + init(); +})(); diff --git a/03_dom/uebungen/u10_running-lights/index.html b/03_dom/uebungen/u10_running-lights/index.html new file mode 100644 index 0000000..203d0ee --- /dev/null +++ b/03_dom/uebungen/u10_running-lights/index.html @@ -0,0 +1,41 @@ + + + + + + Übung 10 - Chasing Lights + + + + + +
+
+

Übung 10 - Chasing Lights

+ +

+ Eine erste Variante sind die chasing Lights. Dabei muss der Anwender das Lauflicht mit der Maus »jagen«. Immer + wenn der Mauszeiger sich über einer Glühbirne befindet, schaltet sich die nächste Birne ein und die aktuelle + aus. Versucht der Benutzer, mit dem Mauszeiger die leuchtende Glühbirne zu berühren, springt das Licht auf die + nächste über. Er »jagt« quasi das Lauflicht. Bei der letzten Lampe beginnt das Spiel wieder von vorn! +

+

+ Programmiere ein weiteres Lauflicht. Diesmal soll das Lauflicht weiterspringen, wenn der Benutzer auf eine der + Lampen klickt. Auch hier gilt: Nach der letzten Lampe fängt das Licht wieder von vorn an zu laufen. +

+
+
+ lightbulb + lightbulb + lightbulb + lightbulb + lightbulb + lightbulb + lightbulb + lightbulb + lightbulb + lightbulb +
+
+ + diff --git a/03_dom/uebungen/uebungen-8-10.zip b/03_dom/uebungen/uebungen-8-10.zip new file mode 100644 index 0000000000000000000000000000000000000000..04046beccfd229700e24b64d8bcaa1e4b1722e50 GIT binary patch literal 72292 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

`3 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 { + showFirstMessage(); + $('[title=next]').addEventListener('click', nextMessage); + $('[title=prev]').addEventListener('click', prevMessage); + }; + + const showFirstMessage = () => showMessageByNumber(1); + + const showMessageByNumber = (messageNumber) => { + $('.newsboard_content').innerHTML = messages[messageNumber - 1]; + }; + + const nextMessage = (e) => { + e.preventDefault(); // Standardverhalten unterbinden + showMessageByNumber(++currentMessageNumber); + console.log('next'); + }; + const prevMessage = (e) => { + e.preventDefault(); // Standardverhalten unterbinden + showMessageByNumber(--currentMessageNumber); + console.log('prev'); + }; + + const messages = [ + `

Tutors are on a strike!!!

+

All assignmnent are automatically graded with 0 points

+

Duis pretium ornare odio nec cursus. Nulla quis dolor vitae nulla condimentum maximus nec vitae purus. Curabitur ut mi non nulla molestie porta. Curabitur dignissim lacinia condimentum. In hac habitasse platea dictumst. Mauris ut urna magna. Mauris venenatis eu quam nec posuere. Nulla facilisi. Donec convallis sodales massa, et consequat nunc vehicula malesuada.

+ `, + + `

Madness!

+

How to earn a fortune, with a complete stupid idea

+

Ut molestie elementum risus, eget rutrum dui tristique id. Duis ac elit a mi convallis lacinia. Sed at ultricies magna. Pellentesque nisl est, mattis eget porta eu, rhoncus in urna. Integer faucibus lectus nec malesuada tempus. Duis consectetur sollicitudin ultricies. Cras massa nulla, aliquet vitae interdum quis, venenatis at quam.

+ `, + + `

I did something, and you will never guess what happened next...

+

Donec tristique, leo at suscipit pellentesque, mauris neque congue leo!

+

Aenean egestas mauris at neque egestas hendrerit id ut erat. Donec iaculis ornare gravida. Vestibulum condimentum, tortor nec eleifend consectetur, justo lacus dignissim ante, eget commodo enim urna sollicitudin arcu. Odio eu leo pulvinar rutrum sed a turpis. Nunc dui tortor, rutrum vitae gravida quis, hendrerit a massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas

+

Integer non venenatis tellus. Phasellus tellus leo, suscipit ac vulputate non, varius nec eros. Etiam scelerisque nisi arcu, interdum tempus dui volutpat vel. Donec eget posuere nulla. Etiam ornare dapibus tortor, ac sollicitudin nisi porta a. Donec tristique, leo at suscipit pellentesque, mauris neque congue leo, sed tempor massa justo a ligula. Curabitur vitae rhoncus lacus, quis varius felis. Ut tincidunt sit amet nisl finibus tempus. Curabitur mollis sit amet leo a sagittis.

+ `, + ]; + let currentMessageNumber = 1; + + const $ = (qs) => document.querySelector(qs); + const $$ = (qs) => Array.from(document.querySelectorAll(qs)); + + init(); +} diff --git a/03_dom/unterricht/tag23/03_newsboard-lernheft/index.html b/03_dom/unterricht/tag23/03_newsboard-lernheft/index.html index be24e1e..9c007ea 100644 --- a/03_dom/unterricht/tag23/03_newsboard-lernheft/index.html +++ b/03_dom/unterricht/tag23/03_newsboard-lernheft/index.html @@ -13,7 +13,7 @@
- 3 + X × diff --git a/03_dom/unterricht/tag23/04_newsboard-refactored/assets/css/main.css b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/css/main.css new file mode 100644 index 0000000..60e194c --- /dev/null +++ b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/css/main.css @@ -0,0 +1,239 @@ +* { + margin: 0; +} +html { + font-size: 100%; + padding: 0; + background-attachment: fixed; + background-image: -webkit-linear-gradient(top, #eef0f2, #d3d5d9); + background-image: -moz-linear-gradient(top, #eef0f2, #d3d5d9); + background-image: linear-gradient(to bottom, #eef0f2, #d3d5d9); +} +body { + color: #333; + font-size: 1em; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-align: left; + margin: 1em; + padding: 0; +} +p, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-bottom: 1rem; +} +p { + line-height: 1.5em; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} +p:last-child { + margin-bottom: 0; +} +a { + color: #2f83e8; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +strong, +b { + font-weight: bold; +} +em, +i { + font-style: italic; +} +.float_left { + float: left; +} +.float_right { + float: right; +} +.disabled { + opacity: 0.4; + cursor: default; +} +.message_number { + color: #fff; + font-size: 0.8em; + font-weight: bold; + text-align: center; + line-height: 1em; + position: absolute; + top: -0.5em; + left: -0.5em; + display: block; + padding-top: 0.3em; + min-width: 2em; + height: 2em; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + cursor: default; + background-color: #ea2314; + background-image: -webkit-linear-gradient(top, #f78f91, #c50404); + background-image: -moz-linear-gradient(top, #f78f91, #c50404); + background-image: linear-gradient(to bottom, #f78f91, #c50404); + border: 2px solid #fff; + -webkit-border-radius: 1em; + -moz-border-radius: 1em; + border-radius: 1em; + -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); +} +.newsboard_wrapper { + margin: 0 auto 2em auto; + padding: 13px 0 0 17px; + max-width: 550px; + position: relative; + background: url('../img/sheets.png') no-repeat; +} +.newsboard_wrapper:before { + content: url('../img/paperclip.png'); + position: absolute; + top: 5px; + right: 35px; + z-index: 1; +} +.newsboard_wrapper .newsboard { + padding: 29px 1.25rem 4rem 1.25rem; + min-height: 20em; + position: relative; + border: 1px solid #ccc; + background-color: #fff; + background-image: -webkit-linear-gradient(#dddddd, #ffffff 1px); + background-image: -moz-linear-gradient(#dddddd, #ffffff 1px); + background-image: linear-gradient(#dddddd, #ffffff 1px); + background-position: 0 1.3em; + -webkit-background-size: 100% 1.5em; + -moz-background-size: 100% 1.5em; + background-size: 100% 1.5em; + -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); +} +.newsboard_wrapper .newsboard .close_button { + color: #777; + font-size: 1.2em; + text-decoration: none; + line-height: 1em; + position: absolute; + top: 10px; + right: 14px; + display: block; +} +.newsboard_wrapper .newsboard .close_button:hover { + color: #444; +} +.newsboard_wrapper .newsboard .newsboard_footer { + color: #999; + font-size: 0.8em; +} +.newsboard_wrapper .newsboard .paging_bar { + font-size: 1.8em; + padding: 0 1.25rem; + position: absolute; + left: 0; + right: 0; + bottom: 1rem; + white-space: nowrap; +} +.newsboard_wrapper .newsboard .paging_bar .float_left a, +.newsboard_wrapper .newsboard .paging_bar .float_right a { + color: #777; + text-decoration: none; +} +.newsboard_wrapper .newsboard .paging_bar .float_left a { + margin-right: 0.3em; +} +.newsboard_wrapper .newsboard .paging_bar .float_right a { + margin-left: 0.3em; +} +.newsboard_wrapper .newsboard .paging_bar .progressbar { + display: block; + width: 40%; + margin: 0 auto; +} +.newsboard_wrapper .newsboard .paging_bar progress { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + vertical-align: 0; + line-height: normal; + color: #2f83e8; + width: 100%; + height: 0.6rem; + border-style: none; + padding: 0; + background-color: #eee; + -webkit-border-radius: 0.3rem; + -moz-border-radius: 0.3rem; + border-radius: 0.3rem; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); +} +.newsboard_wrapper .newsboard .paging_bar progress::-webkit-progress-bar { + padding: 0; + border-style: none; + background-color: transparent; +} +.newsboard_wrapper .newsboard .paging_bar progress::-webkit-progress-value { + -webkit-border-radius: 0.3rem; + border-radius: 0.3rem; + background-color: #2f83e8; + background-image: -webkit-linear-gradient(top, #8bbaf2, #176acd); + background-image: linear-gradient(to bottom, #8bbaf2, #176acd); +} +.newsboard_wrapper .newsboard .paging_bar progress::-moz-progress-bar { + -moz-border-radius: 0.3rem; + border-radius: 0.3rem; + background-color: #2f83e8; + background-image: -moz-linear-gradient(top, #8bbaf2, #176acd); + background-image: linear-gradient(to bottom, #8bbaf2, #176acd); +} +.newsboard_wrapper .newsboard .newsboard_content h1, +.newsboard_wrapper .newsboard .newsboard_content h2 { + font-weight: normal; + font-family: + 'Helvetica Neue Light', 'HelveticaNeue-Light', 'Helvetica Light', 'Helvetica-Light', Helvetica, Arial, sans-serif; + letter-spacing: 0.03em; +} +.newsboard_wrapper .newsboard .newsboard_content h1 { + font-size: 1.75em; +} +.newsboard_wrapper .newsboard .newsboard_content h2 { + color: #2f83e8; + font-size: 1.2em; + line-height: 1.4em; +} +.newsboard_wrapper .newsboard .newsboard_content:empty { + color: #999; + font-size: 1.15em; + text-align: center; + padding-top: 10.5rem; + background: url('../img/empty.png') no-repeat center 3.75rem; +} +.newsboard_wrapper .newsboard .newsboard_content:empty:after { + content: 'Keine neuen Mitteilungen.'; +} + +.sr-only { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; + display: inline-block !important; +} diff --git a/03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/empty.png b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d650b1b78887a3516f6357dc094da5b9088979af GIT binary patch literal 5270 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 QO#lD@07*qoM6N<$f*W@tL;wH) literal 0 HcmV?d00001 diff --git a/03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/sheets.png b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/img/sheets.png new file mode 100644 index 0000000000000000000000000000000000000000..14680cbc1301ad6934e18960b52d5224b780173f GIT binary patch literal 3591 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 Pb~1L>N3F^%&&2-^^j01| literal 0 HcmV?d00001 diff --git a/03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/main.js b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/main.js new file mode 100644 index 0000000..45975ed --- /dev/null +++ b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/main.js @@ -0,0 +1,54 @@ +'use strict'; + +(() => { + // === DOM & VARS ======= + const module = document.querySelector('.newsboard') || console.error('newsboard not found'); + const DOM = { + messageNumber: module.querySelector('.message_number'), + newsboardContent: module.querySelector('.newsboard_content'), + buttonNext: module.querySelector('.button-next'), + buttonLast: module.querySelector('.button-last'), + buttonPrev: module.querySelector('.button-prev'), + buttonFirst: module.querySelector('.button-first'), + progressBar: module.querySelector('.progressbar progress'), + }; + + console.log(DOM); + + // === INIT ============= + const init = () => { + // Funktionaufrufe zu beginn der Anwendung + showMessageByNumber(1); + initProgressbar(); + + // Eventlauscher zu beginn der Anwendung + DOM.buttonNext.addEventListener('click', onClickNext); + DOM.buttonPrev.addEventListener('click', onClickPrev); + window.addEventListener('keyup', onKeyUp); + }; + + // === EVENTHANDLER ===== + const onKeyUp = (e) => { + // Übung 8.3 && 8.4 Tastatursteuerung + }; + + const onClickNext = (e) => { + showMessageByNumber((DOM.progressBar.value += 1)); + }; + const onClickPrev = (e) => { + showMessageByNumber((DOM.progressBar.value -= 1)); + }; + // === XHR/FETCH ======== + + // === FUNCTIONS ======== + const showMessageByNumber = (n) => { + DOM.newsboardContent.innerHTML = MESSAGES[n - 1]; + }; + + const initProgressbar = () => { + DOM.progressBar.max = MESSAGES.length; + DOM.progressBar.value = 1; + }; + + init(); +})(); diff --git a/03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/messages.js b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/messages.js new file mode 100644 index 0000000..0b78d36 --- /dev/null +++ b/03_dom/unterricht/tag23/04_newsboard-refactored/assets/js/messages.js @@ -0,0 +1,19 @@ +// Konfigurationsvariablen + +const MESSAGES = [ + `

Tutors are on a strike!!!

+

All assignmnent are automatically graded with 0 points

+

Duis pretium ornare odio nec cursus. Nulla quis dolor vitae nulla condimentum maximus nec vitae purus. Curabitur ut mi non nulla molestie porta. Curabitur dignissim lacinia condimentum. In hac habitasse platea dictumst. Mauris ut urna magna. Mauris venenatis eu quam nec posuere. Nulla facilisi. Donec convallis sodales massa, et consequat nunc vehicula malesuada.

+ `, + + `

Madness!

+

How to earn a fortune, with a complete stupid idea

+

Ut molestie elementum risus, eget rutrum dui tristique id. Duis ac elit a mi convallis lacinia. Sed at ultricies magna. Pellentesque nisl est, mattis eget porta eu, rhoncus in urna. Integer faucibus lectus nec malesuada tempus. Duis consectetur sollicitudin ultricies. Cras massa nulla, aliquet vitae interdum quis, venenatis at quam.

+ `, + + `

I did something, and you will never guess what happened next...

+

Donec tristique, leo at suscipit pellentesque, mauris neque congue leo!

+

Aenean egestas mauris at neque egestas hendrerit id ut erat. Donec iaculis ornare gravida. Vestibulum condimentum, tortor nec eleifend consectetur, justo lacus dignissim ante, eget commodo enim urna sollicitudin arcu. Odio eu leo pulvinar rutrum sed a turpis. Nunc dui tortor, rutrum vitae gravida quis, hendrerit a massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas

+

Integer non venenatis tellus. Phasellus tellus leo, suscipit ac vulputate non, varius nec eros. Etiam scelerisque nisi arcu, interdum tempus dui volutpat vel. Donec eget posuere nulla. Etiam ornare dapibus tortor, ac sollicitudin nisi porta a. Donec tristique, leo at suscipit pellentesque, mauris neque congue leo, sed tempor massa justo a ligula. Curabitur vitae rhoncus lacus, quis varius felis. Ut tincidunt sit amet nisl finibus tempus. Curabitur mollis sit amet leo a sagittis.

+ `, +]; diff --git a/03_dom/unterricht/tag23/04_newsboard-refactored/index.html b/03_dom/unterricht/tag23/04_newsboard-refactored/index.html new file mode 100644 index 0000000..d4137ff --- /dev/null +++ b/03_dom/unterricht/tag23/04_newsboard-refactored/index.html @@ -0,0 +1,54 @@ + + + + + + Newsboard + + + + + + + + + +
+
+ X + + × + +
+ +
+ + + + + + + + + + + + + +
+
+
+ + diff --git a/03_dom/unterricht/tag23/05_progress-element/index.html b/03_dom/unterricht/tag23/05_progress-element/index.html new file mode 100644 index 0000000..0fb7952 --- /dev/null +++ b/03_dom/unterricht/tag23/05_progress-element/index.html @@ -0,0 +1,108 @@ + + + + + + HTML5 - Progress Element | IDL vs. Content-Attribut + + + +
+
+

HTML5 - Progress Element | IDL vs. Content-Attribut

+
+
+
+
+
+ + +
+
+ +
+ +
+
+
+ + +
+
+ +
+ +
+
+
+ + + diff --git a/03_dom/unterricht/tag23/06_attribut-boolean/index.html b/03_dom/unterricht/tag23/06_attribut-boolean/index.html new file mode 100644 index 0000000..553f8cf --- /dev/null +++ b/03_dom/unterricht/tag23/06_attribut-boolean/index.html @@ -0,0 +1,90 @@ + + + + + + IDL (mit Boolean) vs Content Attribute (get|setAttribute) + + + +
+
+

IDL (mit Boolean) vs Content Attribute (get|setAttribute)

+
+
+
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ + + + + + +
+
+
+ + +