source: t29-www/shared/js-v6/pagescripts/telefunkent40w.js @ 301

Last change on this file since 301 was 301, checked in by sven, 12 years ago

Zwei grosse Bugfixes die einige Backendänderungen nach sich zogen:

  • Impressum: Google Maps-Karte lädt wieder. Dafür wurde endlich ein seitenspezifisches Scriptsystem geschrieben, welches im RessourceLoader verankert Scriptfiles direkt einbindet. Das ermöglicht besseres Debugging, bessere Ladezeit und eine Symmetrie zu seitenspezifischen CSS. Insbesondere aber (bislang eher dreckige) Hooks, mit denen externe Scripts eingebunden werden können, was per pagescripts.js nicht geht. pagescripts.js gibts für kleine Scripte immernoch, könnte man dann ggf. auflösen.
  • Relationale Rücklinks für Geräteseiten: Geräteseiten haben nun wie ehemals einen Rücklink auf die verweisende Seite. Dieser wird anhand ihrer Einordnung in der Navigation erlangt. Bei Seiten, die nicht klar einzuordnen waren, könnte dieses Vorgehen ggf. Fehler erzeugen. Das müsste man dann im Einzelfall überprüfen.
File size: 1.8 KB
Line 
1$(function(){
2        stoplabel = {"de": "Animation stoppen", "en": "stop animation"};
3        startlabel = {"de": "Animation starten", "en": "start animation"};
4        repeatlabel = {"de": "Animation wiederholen", "en": "repeat animation"};
5
6        lang = t29.conf.lang;
7
8        var slider = new Array();
9        slider[1] = new Object();
10        slider[1].min = 0;
11        slider[1].max = 100;
12        slider[1].val = 0;
13        slider[1].playerStepTimeout = 100; // ms
14        slider[1].playerStepDistance = 1.6; // in min/max/val-Einheiten!
15        slider[1].playerStopLabel = stoplabel[lang];
16        slider[1].playerStartLabel = startlabel[lang];
17        slider[1].playerRepeatLabel = repeatlabel[lang];
18        slider[1].playerAutoReverse = false;
19        slider[1].playerAutoStart = true;
20        slider[1].playerRepeatFromMin = true;
21        slider[1].onchange = setTransparency;
22});
23
24function setTransparency(val, blubb) {
25        val = val / 100; // normierung auf [0,1]
26        // bereits ab 0.75 ist der Kasten nicht mehr zu sehen
27        setOpacity("zu",            -val/0.75 + 1);
28        // ab 0.75 erscheint die Beschriftung, hoch 3 potenziert
29        setOpacity("beschriftung",  Math.pow(val - 0.75, 3)*64 );
30        // alternativ ein linearer Zuwachs:
31        //setOpacity("beschriftung",  (val-0.75)*4  );
32        //document.getElementById("zu").style.opacity = 1-val;
33        //document.getElementById("beschriftung").style.opacity = val / 2;
34}
35
36function setOpacity(id, value) {
37        if(value >= 1) value = 1.0;
38        if(value <= 0) value = 0;
39        document.getElementById(id).style.opacity = value;
40        if(document.all) {
41                // IE 7 kann (immer!) noch kein opacity, daher ein
42                // haessliches workaround:
43                document.getElementById(id).style.setAttribute("filter", "alpha(opacity="+Math.round(100*value)+")", 0);
44                if(value == 1.0)
45                        // der filter zerschiesst alpha-Transparenz -- noch ein workaround
46                        document.getElementById(id).style.removeAttribute("filter", 0);
47        }
48}
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License