From a1710cc2e2f967eb9356917cd829e7d38df9e0e6 Mon Sep 17 00:00:00 2001 From: Luis Date: Wed, 22 Feb 2017 21:15:17 +0100 Subject: [PATCH] Autoslide function: new interval parameter --- demos/why-webslides.html | 2 +- static/js/webslides.js | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/demos/why-webslides.html b/demos/why-webslides.html index 81c9fe7..c674dd7 100644 --- a/demos/why-webslides.html +++ b/demos/why-webslides.html @@ -342,7 +342,7 @@ - + diff --git a/static/js/webslides.js b/static/js/webslides.js index 18e9264..b2bb8ce 100644 --- a/static/js/webslides.js +++ b/static/js/webslides.js @@ -33,7 +33,8 @@ jQuery.fn.webslides = function(options) { $firstSlide, $lastSlide, $auxSlide = null, - slidePointer; + slidePointer, + intervalId; var total = 0; @@ -50,6 +51,7 @@ jQuery.fn.webslides = function(options) { * @param {string} previous Previous HTML element ID * @param {string} current Current HTML element ID * @param {string} verticalClass Vertical class + * @param {boolean} autoslide Auto slide, default false */ var init = function(_options) { obj.settings = { @@ -59,7 +61,8 @@ jQuery.fn.webslides = function(options) { next : 'next', previous : 'previous', current : 'current', - verticalClass : 'vertical' // #webslides.vertical - You must add this class to slideshow for vertical sliding + verticalClass : 'vertical', // #webslides.vertical - You must add this class to slideshow for vertical sliding + interval : false, }; // Allow overriding the default config @@ -134,6 +137,8 @@ jQuery.fn.webslides = function(options) { $currentSlide = $firstSlide.show().addClass(obj.settings.current); updateCounter(); } + + obj.autoslide(); }; /** @@ -247,6 +252,16 @@ jQuery.fn.webslides = function(options) { }); } + /** + * Autoslide process + */ + obj.autoslide = function() { + if (obj.settings.interval != false && obj.settings.interval > 0) { + clearInterval(intervalId); + intervalId = setInterval(obj.nextSlide, obj.settings.interval); + } + } + /** * Init hash */ @@ -385,6 +400,8 @@ jQuery.fn.webslides = function(options) { // fire slide event fireSlideEvent(); } + + obj.autoslide(); }; /** @@ -453,6 +470,7 @@ jQuery.fn.webslides = function(options) { // fire slide event fireSlideEvent(); } + obj.autoslide(); }; @@ -476,6 +494,7 @@ jQuery.fn.webslides = function(options) { // update counter updateCounter(); + obj.autoslide(); }; /**