summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerdgeist <erdgeist@bauklotz.fritz.box>2016-08-07 15:01:10 +0200
committererdgeist <erdgeist@bauklotz.fritz.box>2016-08-07 15:01:10 +0200
commitbe65e80a5eb077ff8d9a765852c3ea6a1ff716f3 (patch)
tree11e0464ab8097f36042a728a5e0b86f4388be09f
parent45d5e6f1878c57709ab2064b46bb9eef5ef770ee (diff)
Animate Schritt-transitions
-rw-r--r--index.html24
-rw-r--r--js/abmahn.js24
-rw-r--r--style.css105
3 files changed, 84 insertions, 69 deletions
diff --git a/index.html b/index.html
index 7835320..576843b 100644
--- a/index.html
+++ b/index.html
@@ -9,10 +9,10 @@
9 <script src="js/abmahn.js"></script> 9 <script src="js/abmahn.js"></script>
10 </head> 10 </head>
11 <body> 11 <body>
12 <div id="wrapper" class="wrapper step1"> 12 <div id="wrapper" class="step1">
13 <div class="collapsable block-step1"> 13 <div class="collapsable block-step1">
14 <div onclick="step0_done()" class="block-header"> 14 <div onclick="step0_done()" class="block-header">
15 <h1>Abmahnbeantworter</h1> 15 <h1 id="head1">Abmahnbeantworter</h1>
16 </div> 16 </div>
17 <div class="juice"> 17 <div class="juice">
18 <p>Sie haben eine Abmahnung für einen Urheberrechtsverstoß erhalten?</p> 18 <p>Sie haben eine Abmahnung für einen Urheberrechtsverstoß erhalten?</p>
@@ -20,12 +20,12 @@
20 <p><strong>Sie sind sicher, diese angebliche Urheberrechtsverletzung nicht begangen zu haben?</strong></p> 20 <p><strong>Sie sind sicher, diese angebliche Urheberrechtsverletzung nicht begangen zu haben?</strong></p>
21 <div class="two-buttons"> 21 <div class="two-buttons">
22 <div class="button button-green" onclick="step1_done()">Ja, los!</div> 22 <div class="button button-green" onclick="step1_done()">Ja, los!</div>
23 <div class="button button-red" onclick="step1_cancel()">Hm, nein.</div> 23 <div class="button button-red" onclick="step0_cancel()">Hm, nein.</div>
24 </div> 24 </div>
25 </div> 25 </div>
26 </div> 26 </div>
27 <div class="collapsable" id="unsicher"> 27 <div class="collapsable block-stepcancel" id="unsicher">
28 <div class="juice block-stepcancel"> 28 <div class="juice">
29 <p>Bitte benutzen Sie diesen Vordruck nur, wenn Sie tatsächlich nicht für die abgemahnte Verletzung verantwortlich sind. Sollte dies doch der Fall sein, oder wenn Sie sich <b>nicht</b> sicher sind, dann suchen Sie bitte einen Anwalt auf.</p> 29 <p>Bitte benutzen Sie diesen Vordruck nur, wenn Sie tatsächlich nicht für die abgemahnte Verletzung verantwortlich sind. Sollte dies doch der Fall sein, oder wenn Sie sich <b>nicht</b> sicher sind, dann suchen Sie bitte einen Anwalt auf.</p>
30 <p>Unrichtige Angaben zum Sachverhalt können Ihnen vor Gericht belastend ausgelegt werden. Dadurch können erhebliche Kosten entstehen.</p> 30 <p>Unrichtige Angaben zum Sachverhalt können Ihnen vor Gericht belastend ausgelegt werden. Dadurch können erhebliche Kosten entstehen.</p>
31 <div class="one-button"> 31 <div class="one-button">
@@ -38,7 +38,7 @@
38 <div class="collapsable block-step2"> 38 <div class="collapsable block-step2">
39 <div onclick="step1_done()" class="block-header"> 39 <div onclick="step1_done()" class="block-header">
40 <div class="done">&#x2713;</div> 40 <div class="done">&#x2713;</div>
41 <h2>Schritt 1: Fakten sammeln</h2> 41 <h2 id="head2">Schritt 1: Fakten sammeln</h2>
42 </div> 42 </div>
43 <div class="juice"> 43 <div class="juice">
44 <p>Bevor wir loslegen, sammeln wir alle Informationen ein, die der abmahnenden Kanzlei verdeutlichen, warum die Abmahnung unberechtigt ist.</p> 44 <p>Bevor wir loslegen, sammeln wir alle Informationen ein, die der abmahnenden Kanzlei verdeutlichen, warum die Abmahnung unberechtigt ist.</p>
@@ -74,7 +74,7 @@
74 <div class="collapsable block-step3"> 74 <div class="collapsable block-step3">
75 <div onclick="step2_done()" class="block-header"> 75 <div onclick="step2_done()" class="block-header">
76 <div class="done">&#x2713;</div> 76 <div class="done">&#x2713;</div>
77 <h2>Schritt 2: Daten des Abgemahnten</h2> 77 <h2 id="head3">Schritt 2: Daten des Abgemahnten</h2>
78 </div> 78 </div>
79 <div class="juice"> 79 <div class="juice">
80 <div><a href="javascript:ausfuellen()" class="button">Debug: pre-fill</a></div> 80 <div><a href="javascript:ausfuellen()" class="button">Debug: pre-fill</a></div>
@@ -100,7 +100,7 @@
100 <div class="collapsable block-step4"> 100 <div class="collapsable block-step4">
101 <div onclick="step3_done()" class="block-header"> 101 <div onclick="step3_done()" class="block-header">
102 <div class="done">&#x2713;</div> 102 <div class="done">&#x2713;</div>
103 <h2>Schritt 3: Daten der Abmahner</h2> 103 <h2 id="head4">Schritt 3: Daten der Abmahner</h2>
104 </div> 104 </div>
105 <div class="juice"> 105 <div class="juice">
106 <p>Ist der Abmahner eine der folgenden Kanzleien? Dann können wir die Adresse gleich per Click übernehmen.</p> 106 <p>Ist der Abmahner eine der folgenden Kanzleien? Dann können wir die Adresse gleich per Click übernehmen.</p>
@@ -130,7 +130,7 @@
130 <div class="collapsable block-step5"> 130 <div class="collapsable block-step5">
131 <div onclick="step4_done()" class="block-header"> 131 <div onclick="step4_done()" class="block-header">
132 <div class="done">&#x2713;</div> 132 <div class="done">&#x2713;</div>
133 <h2>Schritt 4: Aktenzeichen und Datum</h2> 133 <h2 id="head5">Schritt 4: Aktenzeichen und Datum</h2>
134 </div> 134 </div>
135 <div class="juice"> 135 <div class="juice">
136 <p>Der Abmahner hat Ihnen ein Aktenzeichen zugeordnet. Dies muss im Schreiben auftauchen, um die Antwort der Abmahnung zuordnen zu können.</p> 136 <p>Der Abmahner hat Ihnen ein Aktenzeichen zugeordnet. Dies muss im Schreiben auftauchen, um die Antwort der Abmahnung zuordnen zu können.</p>
@@ -150,7 +150,7 @@
150 <div class="collapsable block-step6"> 150 <div class="collapsable block-step6">
151 <div onclick="step5_done()" class="block-header"> 151 <div onclick="step5_done()" class="block-header">
152 <div class="done">&#x2713;</div> 152 <div class="done">&#x2713;</div>
153 <h2>Schritt 5: Antwortschreiben erzeugen</h2> 153 <h2 id="head6">Schritt 5: Antwortschreiben erzeugen</h2>
154 </div> 154 </div>
155 <div class="juice"> 155 <div class="juice">
156 <p>Wir haben nun alle Informationen, um das Antwortschreiben erzeugen zu können:</p> 156 <p>Wir haben nun alle Informationen, um das Antwortschreiben erzeugen zu können:</p>
@@ -160,9 +160,9 @@
160 <p class="hint">Drucken Sie das Schreiben aus und schicken Sie es per Post an die abmahnende Kanzlei. Optional können Sie zur Wahrung der Frist das Schreiben auch vorab <span id="faxempfaenger"></span>faxen.</p> 160 <p class="hint">Drucken Sie das Schreiben aus und schicken Sie es per Post an die abmahnende Kanzlei. Optional können Sie zur Wahrung der Frist das Schreiben auch vorab <span id="faxempfaenger"></span>faxen.</p>
161 </div> 161 </div>
162 </div> 162 </div>
163 <div class="hidden collapsable block-step7"> 163 <div class="collapsable block-step7">
164 <div class="block-header"> 164 <div class="block-header">
165 <h2>Und jetzt?</h2> 165 <h2 id="head7">Und jetzt?</h2>
166 </div> 166 </div>
167 <div class="juice"> 167 <div class="juice">
168 <p>Nimmt die abmahnende Kanzlei ihre Forderung nicht innerhalb unserer Frist (14 Tage) zurück, steht Ihnen eine gerichtliche Klärung zu.</p> 168 <p>Nimmt die abmahnende Kanzlei ihre Forderung nicht innerhalb unserer Frist (14 Tage) zurück, steht Ihnen eine gerichtliche Klärung zu.</p>
diff --git a/js/abmahn.js b/js/abmahn.js
index 353111b..6b26e0b 100644
--- a/js/abmahn.js
+++ b/js/abmahn.js
@@ -12,14 +12,22 @@ function setText(input, text) {
12 document.getElementById(input).value = text; 12 document.getElementById(input).value = text;
13} 13}
14 14
15function step0_done() { document.getElementById('wrapper').className = 'wrapper step1'; } 15function scroll(id) {
16function step1_cancel() { document.getElementById('wrapper').className = 'wrapper stepcancel'; } 16 document.getElementById(id).scrollIntoView();
17function step1_done() { document.getElementById('wrapper').className = 'wrapper step2'; } 17}
18function step2_done() { document.getElementById('wrapper').className = 'wrapper step3'; } 18
19function step3_done() { document.getElementById('wrapper').className = 'wrapper step4'; } 19function setClass(id, classes) {
20function step4_done() { document.getElementById('wrapper').className = 'wrapper step5'; } 20 document.getElementById(id).className = classes;
21function step5_done() { document.getElementById('wrapper').className = 'wrapper step6'; } 21}
22function step6_done() { document.getElementById('wrapper').className = 'wrapper step7'; } 22
23function step0_cancel() { setClass('wrapper', 'stepcancel'); }
24function step0_done() { setClass('wrapper', 'step1'); scroll('head1'); }
25function step1_done() { setClass('wrapper', 'step2'); scroll('head1'); }
26function step2_done() { setClass('wrapper', 'step3'); scroll('head2'); }
27function step3_done() { setClass('wrapper', 'step4'); scroll('head3'); }
28function step4_done() { setClass('wrapper', 'step5'); scroll('head4'); }
29function step5_done() { setClass('wrapper', 'step6'); scroll('head5'); }
30function step6_done() { setClass('wrapper', 'step7'); scroll('head6'); }
23 31
24function waldorff() { 32function waldorff() {
25 setText('abmahnender_kanzlei', 'Waldorff & Frommer RAe'); 33 setText('abmahnender_kanzlei', 'Waldorff & Frommer RAe');
diff --git a/style.css b/style.css
index 7563b8f..8cfcd9c 100644
--- a/style.css
+++ b/style.css
@@ -43,7 +43,7 @@ html {
43 overflow-y: scroll; 43 overflow-y: scroll;
44} 44}
45 45
46.wrapper { 46#wrapper {
47 min-height: 100%; 47 min-height: 100%;
48 height: auto !important; 48 height: auto !important;
49 height: 100%; 49 height: 100%;
@@ -69,7 +69,12 @@ h2 {
69 margin: 0.5em auto 0 auto; 69 margin: 0.5em auto 0 auto;
70} 70}
71 71
72.wrapper.step1 .block-header { 72.juice {
73 font-size: 14pt;
74 font-weight: 300;
75}
76
77#wrapper.step1 .block-header {
73 pointer-events: none; 78 pointer-events: none;
74} 79}
75 80
@@ -78,27 +83,24 @@ h2 {
78 font-weight: 300; 83 font-weight: 300;
79} 84}
80 85
81.juice { 86#unsicher,
82 font-size: 14pt; 87.block-step7 {
83 font-weight: 300; 88 padding: 0;
84
85 overflow: hidden;
86 max-height: 0px;
87 transition: max-height 0.25s ease-in;
88} 89}
89 90#wrapper.stepcancel #unsicher,
90.hidden, 91#wrapper-step7 .block-step7 {
91#unsicher { 92 padding: auto;
92 visibility: hidden;
93 transition: visibility 0.25s ease-in;
94} 93}
95 94
96.hidden, 95.block-step7,
97#unsicher, 96.juice,
98.wrapper.stepcancel h2 { 97#wrapper.stepcancel h2 {
99 overflow: hidden; 98 overflow: hidden;
100 max-height: 0px; 99 max-height: 0px;
101 transition: max-height 0.25s ease-in; 100 transition: max-height, height;
101 transition-timing-function: ease;
102 transition-duration: 0.5s;
103 transition-delay: 0s;
102} 104}
103 105
104.block-step1 { 106.block-step1 {
@@ -257,44 +259,49 @@ ul {
257 float: right; 259 float: right;
258 font-size: 24pt; 260 font-size: 24pt;
259 margin-top: -0.2em; 261 margin-top: -0.2em;
260 display: none;
261 visibility: hidden; 262 visibility: hidden;
262} 263}
263 264
265#wrapper.step3 .block-step2 .done,
266#wrapper.step4 .block-step2 .done,
267#wrapper.step5 .block-step2 .done,
268#wrapper.step6 .block-step2 .done,
269#wrapper.step7 .block-step2 .done,
270#wrapper.step4 .block-step3 .done,
271#wrapper.step5 .block-step3 .done,
272#wrapper.step6 .block-step3 .done,
273#wrapper.step7 .block-step3 .done,
274#wrapper.step5 .block-step4 .done,
275#wrapper.step6 .block-step4 .done,
276#wrapper.step7 .block-step4 .done,
277#wrapper.step6 .block-step5 .done,
278#wrapper.step7 .block-step5 .done,
279#wrapper.step7 .block-step6 .done {
280 visibility: visible;
281}
282
264input[type="text"] { 283input[type="text"] {
265 width: 90%; 284 width: 90%;
266} 285}
267 286
268.wrapper.step1 .block-step1 .juice, 287#wrapper.step1 .block-step1 .juice,
269.wrapper.step2 .block-step2 .juice, 288#wrapper.stepcancel .block-stepcancel .juice {
270.wrapper.step3 .block-step3 .juice, 289 max-height: 350px;
271.wrapper.step4 .block-step4 .juice, 290 transition: max-height 0.5s ease;
272.wrapper.step5 .block-step5 .juice, 291}
273.wrapper.step6 .block-step6 .juice, 292
274.wrapper.step7 .block-step7 .juice, 293#wrapper.step5 .block-step5 .juice {
275.wrapper.step7 .block-step7, 294 max-height: 500px;
276 295 transition: max-height 0.5s ease;
277.wrapper.stepcancel .block-stepcancel.juice, 296}
278.wrapper.stepcancel #unsicher,
279
280.wrapper.step3 .block-step2 .done,
281.wrapper.step4 .block-step2 .done,
282.wrapper.step5 .block-step2 .done,
283.wrapper.step6 .block-step2 .done,
284.wrapper.step7 .block-step2 .done,
285.wrapper.step4 .block-step3 .done,
286.wrapper.step5 .block-step3 .done,
287.wrapper.step6 .block-step3 .done,
288.wrapper.step7 .block-step3 .done,
289.wrapper.step5 .block-step4 .done,
290.wrapper.step6 .block-step4 .done,
291.wrapper.step7 .block-step4 .done,
292.wrapper.step6 .block-step5 .done,
293.wrapper.step7 .block-step5 .done,
294.wrapper.step7 .block-step6 .done
295 297
298#wrapper.step2 .block-step2 .juice,
299#wrapper.step3 .block-step3 .juice,
300#wrapper.step4 .block-step4 .juice,
301#wrapper.step6 .block-step6 .juice,
302#wrapper.step7 .block-step7 .juice,
303#wrapper.step7 .block-step7
296{ 304{
297 display: block !important; 305 max-height: 900px;
298 visibility: visible !important; 306 transition: max-height 0.5s ease;
299 max-height: 9999px;
300} 307}