X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=simpleWebSlides.js;h=10d5d03025d91db4bdf8c4a8be931acdb5e65e24;hb=84e2c90ea8d41d08c996bd84bd459ba5ad23de0b;hp=42448ea5fa717e7599c29509a2ca12bd54a71d84;hpb=84940d8f7c885110f6ce355ba467dba4f71d7f4d;p=hacks%2FsimpleWebSlides.git diff --git a/simpleWebSlides.js b/simpleWebSlides.js index 42448ea..10d5d03 100644 --- a/simpleWebSlides.js +++ b/simpleWebSlides.js @@ -2,7 +2,7 @@ Namespace object. */ -var SWS = {}; +var SWS = SWS || {}; @@ -52,6 +52,14 @@ SWS.Utils = new function () { SWS.Templates = new function () { var self = this; + self.controlPanel = "
\ +◀◀◀\ +◀◀ \ +◀\ +▶\ +▶▶\ +▶▶▶\ +
"; self.slideActivate = function (o) { if (!(o.hasClass("sws-active-slide"))){ o.removeClass("sws-inactive-slide").addClass("sws-active-slide"); @@ -95,7 +103,7 @@ SWS.Templates = new function () { + (i + 1) +""); var sep = $( ""); - var tot = $( "" + var tot = $( "" + (SWS.Presentation.getNumSlides()) +""); footer.append(cur).append(sep).append(tot); @@ -121,14 +129,14 @@ SWS.Effects = new function () { var self = this; self.objectDeactivateFadeOut = function (o) { - o.animate({'opacity': '0'}, 150, + o.animate({'opacity': '0'}, 200, function () { SWS.Templates.objectDeactivate(o)}); }; self.objectActivateFadeIn = function (o) { if (SWS.Templates.objectActivate(o)){ - o.animate({'opacity': '1' }, 150); + o.animate({'opacity': '1' }, 200); }; }; @@ -225,7 +233,7 @@ SWS.Presentation = new function () { if (typeof(Storage)!=="undefined"){ self.getCurrentSlide = function () { //unary + casts to integer - var i = +(sessionStorage.current_slide); + var i = +(sessionStorage.getItem("current_slide")); if (!(i >= 0 && i < self.getNumSlides())){ return 0; } else { @@ -234,7 +242,7 @@ SWS.Presentation = new function () { }; self.setCurrentSlide = function (i) { - sessionStorage.current_slide = i; + sessionStorage.setItem("current_slide", i); }; } else { @@ -257,12 +265,13 @@ SWS.Presentation = new function () { var slide_change = (from_slide_num != to_slide_num); var info = to_slide.data("sws-frame-info"); + SWS.Config['sws-update-header'](to_slide); + SWS.Config['sws-update-footer'](to_slide); + if (slide_change) { //Launch a slide transition: SWS.Config['sws-slide-change'](from_slide_num, to_slide_num); watch_slide_anim = true; - SWS.Config['sws-update-header'](to_slide); - SWS.Config['sws-update-footer'](to_slide); for (var i = 0; i < info.callbacks.at_slide.length;i++){ info.callbacks.at_slide[i](to_slide); }; @@ -273,7 +282,7 @@ SWS.Presentation = new function () { var custom = info.custom; var real_slide = to_slide.children(".sws-slide"); - to_slide.children(".sws-slide").find("*").andSelf().each(function (i){ + real_slide.find("*").andSelf().each(function (i){ var frameset = $(this).data("sws-frame-set") || {}; if (frameset[cur]) SWS.Config['sws-object-activate']($(this)); @@ -300,11 +309,13 @@ SWS.Presentation = new function () { self.nextSlide = function () { self.setCurrentSlide(Math.min(self.getCurrentSlide()+1, self.lastSlide())); + self.setCurrentFrame(self.firstFrame()); }; self.previousSlide = function () { self.setCurrentSlide(Math.max(self.getCurrentSlide()-1, self.firstSlide())); + self.setCurrentFrame(self.firstFrame()); }; self.getFrameInfo = function () { @@ -331,9 +342,10 @@ SWS.Presentation = new function () { self.next = function () { var i = self.getCurrentFrame(); - if (i == self.lastFrame()) + if (i == self.lastFrame()) { self.nextSlide(); - else + self.setCurrentFrame(self.firstFrame()); + } else self.nextFrame(); }; @@ -352,11 +364,18 @@ SWS.Presentation = new function () { f = 0; if (!(s >= self.firstSlide() && s <= self.lastSlide())) return; self.setCurrentSlide(s); - if (!(f >= self.firstFrame() && s <= self.lastFrame())) f = 0; + if (!(f >= self.firstFrame() && f <= self.lastFrame())) f = 0; self.setCurrentFrame(f); self.refresh(); }; + self.cycleStyle = function() { + var styles = $("head").children('link[rel$="stylesheet"][title]'); + var j = styles.index(styles.filter(':not(:disabled)')); + styles[j].disabled = true; + if (++j == styles.length) j = 0; + styles[j].disabled = false; + }; self.inputHandler = function (event) { if (_disable_input_events) return; @@ -371,7 +390,7 @@ SWS.Presentation = new function () { case 32: /* space */ case 39: /* -> */ - case 1: /* mouse button 1 */ + self.next(); break; case 34: /* PgDown */ @@ -386,6 +405,11 @@ SWS.Presentation = new function () { case 80: /* p */ self.previousSlide(); break; + case 83: /* s */ + self.cycleStyle(); + return; + case 67: /* c */ + $("#sws-control-panel").toggle(); default: return; }; @@ -463,12 +487,15 @@ SWS.Presentation = new function () { }; self.init = function () { + console.log("inited"); + $(window).bind('storage', function (e) { + console.log(e); + }); _total_slides = $(".sws-slide").length; $(document).keydown(self.inputHandler); - $(document).mousedown(self.inputHandler); - + $("body").append($(SWS.Templates.controlPanel)); var cur = self.getCurrentSlide(); $(".sws-slide").each (function (i) { var par = $(this).parent(); @@ -489,7 +516,7 @@ SWS.Presentation = new function () { if (i == cur) { canvas .addClass("sws-active-slide") - .removeClass("sws-inacitve-slide"); + .removeClass("sws-inactive-slide"); } else { canvas .addClass("sws-inactive-slide")