X-Git-Url: https://git-public.kairo.at//?a=blobdiff_plain;ds=inline;f=linuxwochen2010%2Fslides.js;fp=linuxwochen2010%2Fslides.js;h=60e236a9df1075d9b4b6299b7ac656030399770a;hb=f85000760a20f3a0163b0bdd6300b39c5993a3bd;hp=0000000000000000000000000000000000000000;hpb=eb984ea2b802d3d10fe09127e754cd6eea2888a0;p=slides.git diff --git a/linuxwochen2010/slides.js b/linuxwochen2010/slides.js new file mode 100644 index 0000000..60e236a --- /dev/null +++ b/linuxwochen2010/slides.js @@ -0,0 +1,70 @@ +/****************************** + * JavaScript for talk slides * + * by Robert Kaiser * + * * + * (for FOSDEM 2007) * + ******************************/ + +// do timed color variation on slides +var slide_seconds = 3*60; +var slide_start = new Date(); + +function timerFired() { + var slide_current = new Date(); + var seconds_diff = Math.round((slide_current.getTime() - slide_start.getTime()) / 1000); + if (seconds_diff >= slide_seconds) { + document.getElementById("header-text").className = "overtime"; + } + else if (seconds_diff >= Math.round(2*slide_seconds/3)) { + document.getElementById("header-text").className = "ontime"; + setTimeout("timerFired()", 1000*(slide_seconds/3)); + } + else if (seconds_diff >= Math.round(slide_seconds/3)) { + document.getElementById("header-text").className = "neartime"; + setTimeout("timerFired()", 1000*(slide_seconds/3)); + } + else { + // we should never come here, but if we do, go into a 1s loop until we get over the upcoming step + setTimeout("timerFired()", 1000); + } +} +setTimeout("timerFired()", 1000*(slide_seconds/3)); + +(function() { + function go(where) { + where = where || "next"; + var links = document.getElementsByTagName("link"); + for (var i = 0; i < links.length; ++i) { + if (links[i].rel == where) { + window.location.href = links[i].href; + break; + } + } + } + + function handleClick(e) { + e = e || event; + var target = (window.event) ? e.srcElement : e.target; + if (e.which == 1 && target.nodeName != "A" && target.nodeName != "VIDEO") + go("next"); + } + + function handleKeyPress(e) { + e = e || event; + switch (e.keyCode) { + case e.DOM_VK_LEFT: + go("previous"); break; + case e.DOM_VK_RIGHT: + go("next"); break; + } + } + + window.onclick = handleClick; + window.onkeypress = handleKeyPress; +})(); + +// end slide +function showEvent() { + document.getElementById("eventbox").style.display = "block"; + document.getElementById("eventtext").style.display = "block"; +} \ No newline at end of file