From c09832e1918d107e33ca1d4df0b3cdce1dbd8400 Mon Sep 17 00:00:00 2001 From: Felipe Valverde Date: Sun, 29 Jan 2017 14:32:02 -0500 Subject: [PATCH 1/3] fix: jlint --- static/js/webslides-lite.js | 44 ++++++++++++++++++------------------- static/js/webslides.js | 38 ++++++++++++++++---------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/static/js/webslides-lite.js b/static/js/webslides-lite.js index d13bce2..ff515e0 100644 --- a/static/js/webslides-lite.js +++ b/static/js/webslides-lite.js @@ -1,7 +1,7 @@ /*================================================================== Name: WebSlides Version: Lite (keyboard shortcuts, no trackpad gestures). -Description: HTML presentations made easy. +Description: HTML presentations made easy. URL: https://github.com/jlantunez/WebSlides Thanks @LuisSacristan for your help :) - @@ -20,7 +20,7 @@ jQuery(document).ready(function($){ previous : 'previous', current : 'current', verticalClass : 'vertical' // #webslides.vertical - You must add this class to slideshow for vertical sliding - } + }; var easing = 'swing'; var slideOffset = 50; // minimun number of pixels for sliding var verticalDelay = 150; // to avoid 2 slides in a row @@ -35,7 +35,7 @@ jQuery(document).ready(function($){ $firstSlide = $slides.first(), $lastSlide = $slides.last(), $auxSlide = null; - + var total = $slides.length; var labels = { @@ -90,16 +90,15 @@ jQuery(document).ready(function($){ $slideshow.data('moving', false); var nextSlide = function() { - + var nextSlide; if ($slideshow.hasClass(ID.verticalClass) && !isMobile) { // Is vertical if ($slideshow.data('moving')) return; $slideshow.data('moving', true); jQuery('html').css({overflow: 'hidden'}); - var nextSlide; - + nextSlide = $currentSlide.next(); slidePointer.current = ((slidePointer.current+1)%total); - if (slidePointer.current == 0) slidePointer.current = total; + if (slidePointer.current === 0) slidePointer.current = total; // show next slide nextSlide.show().addClass(ID.current); @@ -110,7 +109,7 @@ jQuery(document).ready(function($){ $currentSlide.hide().removeClass(ID.current); $currentSlide.siblings('.slide').last().after($currentSlide); $currentSlide = nextSlide; - + // update counter updateCounter(); @@ -134,7 +133,7 @@ jQuery(document).ready(function($){ hideCurrentSlide(); // get the next slide - var nextSlide = $currentSlide.next(); + nextSlide = $currentSlide.next(); nextSlide.show().addClass(ID.current); $currentSlide.siblings('.slide').last().after($currentSlide); @@ -154,6 +153,7 @@ jQuery(document).ready(function($){ }; var previousSlide = function() { + var prevSlide; if ($slideshow.hasClass(ID.verticalClass) && !isMobile) { // Is vertical if ($slideshow.data('moving')) return; $slideshow.data('moving', true); @@ -161,9 +161,9 @@ jQuery(document).ready(function($){ $currentSlide.before($currentSlide.siblings('.slide').last()); - var prevSlide = $currentSlide.prev(); + prevSlide = $currentSlide.prev(); - if (prevSlide.length == 0) return false; + if (prevSlide.length === 0) return false; // show next slide prevSlide.show().addClass(ID.current); // scroll to next slide @@ -202,7 +202,7 @@ jQuery(document).ready(function($){ // get the previous slide $currentSlide.before($currentSlide.siblings('.slide').last()); - var prevSlide = $currentSlide.prev(); + prevSlide = $currentSlide.prev(); prevSlide.show().addClass(ID.current); $currentSlide = prevSlide; @@ -231,14 +231,14 @@ jQuery(document).ready(function($){ // update counter updateCounter(); - } + }; var fireSlideEvent = function(slide) { var slideEvent = new window.CustomEvent('slidechanged', { detail: { slide: slide || $currentSlide } }); window.dispatchEvent(slideEvent); - } + }; /*** INIT SLIDESHOW ***/ @@ -275,7 +275,7 @@ jQuery(document).ready(function($){ // "previous" arrow clicked => previous slide $previous.click( function(e){ e.preventDefault(); - previousSlide() + previousSlide(); }); // Add keyboard shortcuts for changing slides @@ -311,7 +311,7 @@ jQuery(document).ready(function($){ } } }); - + /** * Bind the event HashChange when the prev/next history button was clicked */ @@ -339,17 +339,17 @@ jQuery(document).ready(function($){ function getArrayOfHashParams() { var hash = window.location.hash.replace('#', '').split('&'); - var paramsArr = new Array(); + var paramsArr = new Array([]); for (var i = 0; i < hash.length; i++) { var itemArray = hash[i].split('='); - var action = new Object(); + var action = new Object({}); action.key = itemArray[0]; action.value = itemArray[1]; paramsArr.push(action); } return paramsArr; } - + // Tabs jQuery('ul.tabs li').click(function(){ var $this = jQuery(this); @@ -358,14 +358,14 @@ jQuery(document).ready(function($){ jQuery('.tab-content').removeClass('current'); $this.addClass('current'); jQuery("#"+tab_id).addClass('current'); - }) + }); }); - + // Prototype better, faster. To show the grid/baseline.png, press Enter on keyboard $(document).keypress(function(e) { if(e.which == 13) { $('body').toggleClass('baseline').css('height', $(document).height()); } }); - + diff --git a/static/js/webslides.js b/static/js/webslides.js index 0af5171..ecd8b55 100644 --- a/static/js/webslides.js +++ b/static/js/webslides.js @@ -1,7 +1,7 @@ /*================================================================== Name: WebSlides Version: Pro (trackpad gestures and keyboard shortcuts). -Description: HTML presentations made easy. +Description: HTML presentations made easy. URL: https://github.com/jlantunez/WebSlides Thanks @LuisSacristan for your help :) - @@ -20,7 +20,7 @@ jQuery(document).ready(function($){ previous : 'previous', current : 'current', verticalClass : 'vertical' // #webslides.vertical - You must add this class to slideshow for vertical sliding - } + }; var easing = 'swing'; var slideOffset = 50; // minimun number of pixels for sliding var verticalDelay = 150; // to avoid 2 slides in a row @@ -35,7 +35,7 @@ jQuery(document).ready(function($){ $firstSlide = $slides.first(), $lastSlide = $slides.last(), $auxSlide = null; - + var total = $slides.length; var labels = { @@ -90,16 +90,15 @@ jQuery(document).ready(function($){ $slideshow.data('moving', false); var nextSlide = function() { - + var nextSlide; if ($slideshow.hasClass(ID.verticalClass) && !isMobile) { // Is vertical if ($slideshow.data('moving')) return; $slideshow.data('moving', true); jQuery('html').css({overflow: 'hidden'}); - var nextSlide; - + nextSlide = $currentSlide.next(); slidePointer.current = ((slidePointer.current+1)%total); - if (slidePointer.current == 0) slidePointer.current = total; + if (slidePointer.current === 0) slidePointer.current = total; // show next slide nextSlide.show().addClass(ID.current); @@ -110,7 +109,7 @@ jQuery(document).ready(function($){ $currentSlide.hide().removeClass(ID.current); $currentSlide.siblings('.slide').last().after($currentSlide); $currentSlide = nextSlide; - + // update counter updateCounter(); @@ -134,7 +133,7 @@ jQuery(document).ready(function($){ hideCurrentSlide(); // get the next slide - var nextSlide = $currentSlide.next(); + nextSlide = $currentSlide.next(); nextSlide.show().addClass(ID.current); $currentSlide.siblings('.slide').last().after($currentSlide); @@ -154,6 +153,7 @@ jQuery(document).ready(function($){ }; var previousSlide = function() { + var prevSlide; if ($slideshow.hasClass(ID.verticalClass) && !isMobile) { // Is vertical if ($slideshow.data('moving')) return; $slideshow.data('moving', true); @@ -161,9 +161,9 @@ jQuery(document).ready(function($){ $currentSlide.before($currentSlide.siblings('.slide').last()); - var prevSlide = $currentSlide.prev(); + prevSlide = $currentSlide.prev(); - if (prevSlide.length == 0) return false; + if (prevSlide.length === 0) return false; // show next slide prevSlide.show().addClass(ID.current); // scroll to next slide @@ -202,7 +202,7 @@ jQuery(document).ready(function($){ // get the previous slide $currentSlide.before($currentSlide.siblings('.slide').last()); - var prevSlide = $currentSlide.prev(); + prevSlide = $currentSlide.prev(); prevSlide.show().addClass(ID.current); $currentSlide = prevSlide; @@ -231,14 +231,14 @@ jQuery(document).ready(function($){ // update counter updateCounter(); - } + }; var fireSlideEvent = function(slide) { var slideEvent = new window.CustomEvent('slidechanged', { detail: { slide: slide || $currentSlide } }); window.dispatchEvent(slideEvent); - } + }; /*** INIT SLIDESHOW ***/ @@ -275,7 +275,7 @@ jQuery(document).ready(function($){ // "previous" arrow clicked => previous slide $previous.click( function(e){ e.preventDefault(); - previousSlide() + previousSlide(); }); // Add keyboard shortcuts for changing slides @@ -340,10 +340,10 @@ jQuery(document).ready(function($){ function getArrayOfHashParams() { var hash = window.location.hash.replace('#', '').split('&'); - var paramsArr = new Array(); + var paramsArr = new Array([]); for (var i = 0; i < hash.length; i++) { var itemArray = hash[i].split('='); - var action = new Object(); + var action = new Object({}); action.key = itemArray[0]; action.value = itemArray[1]; paramsArr.push(action); @@ -402,10 +402,10 @@ jQuery(document).ready(function($){ jQuery('.tab-content').removeClass('current'); $this.addClass('current'); jQuery("#"+tab_id).addClass('current'); - }) + }); }); - + // Prototype better, faster. To show the grid/baseline.png, press Enter on keyboard $(document).keypress(function(e) { if(e.which == 13) { From 2127a04363f04edc16a6f7a502f42d23e7683d64 Mon Sep 17 00:00:00 2001 From: Felipe Valverde Date: Sun, 29 Jan 2017 15:53:23 -0500 Subject: [PATCH 2/3] fix: jump from any slide to any other slide --- static/js/webslides-lite.js | 6 ++++-- static/js/webslides.js | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/static/js/webslides-lite.js b/static/js/webslides-lite.js index ff515e0..1d72552 100644 --- a/static/js/webslides-lite.js +++ b/static/js/webslides-lite.js @@ -226,7 +226,10 @@ jQuery(document).ready(function($){ $currentSlide = $slides.eq(moveToSlide); $currentSlide.show().addClass(ID.current); - jQuery('.slide:lt('+(slideNumber-1)+')').each(function() {var $this = jQuery(this); $this.siblings('.slide').last().after($this); }); + jQuery('.slide:lt('+$currentSlide.index()+')').each(function() { + var $this = jQuery(this); + $this.siblings('.slide').last().after($this); + }); slidePointer.current = slideNumber; // update counter @@ -368,4 +371,3 @@ jQuery(document).ready(function($){ $('body').toggleClass('baseline').css('height', $(document).height()); } }); - diff --git a/static/js/webslides.js b/static/js/webslides.js index ecd8b55..2a951c3 100644 --- a/static/js/webslides.js +++ b/static/js/webslides.js @@ -226,7 +226,10 @@ jQuery(document).ready(function($){ $currentSlide = $slides.eq(moveToSlide); $currentSlide.show().addClass(ID.current); - jQuery('.slide:lt('+(slideNumber-1)+')').each(function() {var $this = jQuery(this); $this.siblings('.slide').last().after($this); }); + jQuery('.slide:lt('+$currentSlide.index()+')').each(function() { + var $this = jQuery(this); + $this.siblings('.slide').last().after($this); + }); slidePointer.current = slideNumber; // update counter @@ -411,4 +414,4 @@ jQuery(document).ready(function($){ if(e.which == 13) { $('body').toggleClass('baseline').css('height', $(document).height()); } - }); \ No newline at end of file + }); From 0148cb04055c1d8867812d6d2d3fd5f943d10e6e Mon Sep 17 00:00:00 2001 From: Felipe Valverde Date: Sun, 29 Jan 2017 16:01:08 -0500 Subject: [PATCH 3/3] add: public interface to jump between slides --- static/js/webslides-lite.js | 5 +++++ static/js/webslides.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/static/js/webslides-lite.js b/static/js/webslides-lite.js index 1d72552..30896b2 100644 --- a/static/js/webslides-lite.js +++ b/static/js/webslides-lite.js @@ -363,6 +363,11 @@ jQuery(document).ready(function($){ jQuery("#"+tab_id).addClass('current'); }); + /* jQuery plugin */ + $.WebSlides = function () {}; + + /* Public goToSlide */ + $.WebSlides.goToSlide = goToSlide; }); // Prototype better, faster. To show the grid/baseline.png, press Enter on keyboard diff --git a/static/js/webslides.js b/static/js/webslides.js index 2a951c3..0b9a329 100644 --- a/static/js/webslides.js +++ b/static/js/webslides.js @@ -407,6 +407,11 @@ jQuery(document).ready(function($){ jQuery("#"+tab_id).addClass('current'); }); + /* jQuery plugin */ + $.WebSlides = function () {}; + + /* Public goToSlide */ + $.WebSlides.goToSlide = goToSlide; }); // Prototype better, faster. To show the grid/baseline.png, press Enter on keyboard