From 1c56f34562fdeb39095ebdf741dced4f0bb8b779 Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Wed, 18 Feb 2015 12:10:39 +0300 Subject: [PATCH] Fix when deck is one --- dist/skrollr.decks.js | 8 +++++++- dist/skrollr.decks.min.js | 4 ++-- index.html | 4 ++++ package.json | 2 +- src/skrollr.decks.js | 6 ++++++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/dist/skrollr.decks.js b/dist/skrollr.decks.js index 58de259..d01ed9d 100644 --- a/dist/skrollr.decks.js +++ b/dist/skrollr.decks.js @@ -1,5 +1,5 @@ /*! - * skrollr-decks 1.0.2 + * skrollr-decks 1.0.3 * Fullpage presentation decks with scrolling * https://github.com/TrySound/skrollr-decks * @@ -198,6 +198,12 @@ active = nav.getElementsByClassName('skrollable-between'), el, before, after; + if(active.length === 1) { + el = segments[active[0].getAttribute('data-anchor-target')]; + currentDeck !== el && trigger('change', [el]) + currentDeck = el; + } + if(active.length === 2) { before = e.direction === 'up' ? 0 : 1; after = e.direction === 'up' ? 1 : 0; diff --git a/dist/skrollr.decks.min.js b/dist/skrollr.decks.min.js index 04aff97..dff63a1 100644 --- a/dist/skrollr.decks.min.js +++ b/dist/skrollr.decks.min.js @@ -1,9 +1,9 @@ /*! - * skrollr-decks 1.0.2 + * skrollr-decks 1.0.3 * Fullpage presentation decks with scrolling * https://github.com/TrySound/skrollr-decks * * Released under the MIT license * Copyright (c) 2015, Bogdan Chadkin */ -!function(e){"use strict";window.skrollr?window.skrollr.decks=e(window,document,window.skrollr):console.error("`skrollr` not found")}(function(e,t,n){"use strict";function r(e,t){e in p&&(p[e]=t)}function o(e,t){var n=p[e];"function"==typeof n&&n.apply({},t)}function i(e){if(b)return!1;b=!0;var r,i,a;e="object"==typeof e?e:{};for(r in g)g.hasOwnProperty(r)&&(k[r]=e[r]||g[r]);var i=(k.onRender,k.onChange,n.init({forceHeight:!1}));m=u(k.decks,y),w=c(y),l(),t.body.appendChild(w),i.refresh(w.children),i.on("render",function(e){var t=d(e);v(a),a=h(function(){k.autoscroll&&t&&i.animateTo(i.relativeToAbsolute(t,"top","top")+1,k)},k.delay),o("render",[e])})}function a(e,t){var r,o,i,a=m[e],l=n.get();return l&&(l.stopAnimateTo(),a||(o=w.getElementsByClassName("skrollable-between"),1===o.length&&(i=Number(o[0].getAttribute("data-skrollr-decks-index")),a=y["up"===e?i-1:"down"===e?i+1:-1]),2===o.length&&(o=o["up"===e?0:"down"===e?1:-1],a=o?m[o.getAttribute("data-anchor-target")]:null)),a)?(r=l.relativeToAbsolute(a,"top","top")+1,t?l.setScrollTop(r,!0):l.animateTo(r,k),!0):!1}function l(){var t,n,r,o=e.innerHeight+2;for(r in m)m.hasOwnProperty(r)&&(t=m[r],t.style.height="auto",n=t.offsetHeight,t.style.height=(o>n?o:n)+"px")}function d(e){var t,r,i,a=(n.get(),w.getElementsByClassName("skrollable-between"));return 2===a.length?(r="up"===e.direction?0:1,i="up"===e.direction?1:0,t=m[a[r].getAttribute("data-anchor-target")],s(t)||(t=m[a[i].getAttribute("data-anchor-target")]),f!==t&&o("change",[t]),f=t,t):void 0}function s(t){var r=n.get(),o=r.getScrollTop(),i=e.innerHeight,a=o+i,l=r.relativeToAbsolute(t,"top","top"),d=r.relativeToAbsolute(t,"top","bottom"),s=i*k.offset/100;return a>l+s&&d-s>o}function u(e,n){{var r,o,i={};+new Date}if("string"==typeof e)for(e=t.querySelectorAll(e),o=e.length-1;o>-1;o--)r=e[o],n.unshift(r),r.id=r.id?r.id:"skroll-deck-id-"+o,i["#"+r.id]=r;return i}function c(e){var n,r,o,i=t.createElement("ul"),a=t.createElement("li");for(i.style.display="none",a.setAttribute("data-top-bottom",""),a.setAttribute("data-bottom-top",""),n=0,r=e.length;r>n;n++)o=a.cloneNode(),o.setAttribute("data-skrollr-decks-index",n),o.setAttribute("data-anchor-target","#"+e[n].id),i.appendChild(o);return i}var f,g={decks:".skrollr-deck",offset:15,duration:600,easing:"quadratic",delay:500,autoscroll:!0},p={render:null,change:null},h=e.setTimeout,v=e.clearTimeout,b=!1,k={},m={},y=[],w=t.createElement("ul");return t.addEventListener("keydown",function(e){var t=n.get(),r=[38,40,33,34,36,35];r.indexOf(e.keyCode)>-1&&t&&t.isAnimatingTo()&&t.stopAnimateTo()},!1),t.addEventListener("DOMContentLoaded",function(){var n=t.querySelector(".skrollr-decks-init");n&&"BODY"===n.tagName&&(i(),e.addEventListener("load",l,!1),e.addEventListener("load",d,!1),e.addEventListener("resize",l,!1),e.addEventListener("resize",d,!1))},!1),{init:i,animateTo:a,refresh:l,on:r}}); \ No newline at end of file +!function(e){"use strict";window.skrollr?window.skrollr.decks=e(window,document,window.skrollr):console.error("`skrollr` not found")}(function(e,t,n){"use strict";function r(e,t){e in h&&(h[e]=t)}function o(e,t){var n=h[e];"function"==typeof n&&n.apply({},t)}function i(e){if(b)return!1;b=!0;var r,i,a;e="object"==typeof e?e:{};for(r in g)g.hasOwnProperty(r)&&(k[r]=e[r]||g[r]);var i=(k.onRender,k.onChange,n.init({forceHeight:!1}));m=u(k.decks,y),A=c(y),l(),t.body.appendChild(A),i.refresh(A.children),i.on("render",function(e){var t=d(e);v(a),a=p(function(){k.autoscroll&&t&&i.animateTo(i.relativeToAbsolute(t,"top","top")+1,k)},k.delay),o("render",[e])})}function a(e,t){var r,o,i,a=m[e],l=n.get();return l&&(l.stopAnimateTo(),a||(o=A.getElementsByClassName("skrollable-between"),1===o.length&&(i=Number(o[0].getAttribute("data-skrollr-decks-index")),a=y["up"===e?i-1:"down"===e?i+1:-1]),2===o.length&&(o=o["up"===e?0:"down"===e?1:-1],a=o?m[o.getAttribute("data-anchor-target")]:null)),a)?(r=l.relativeToAbsolute(a,"top","top")+1,t?l.setScrollTop(r,!0):l.animateTo(r,k),!0):!1}function l(){var t,n,r,o=e.innerHeight+2;for(r in m)m.hasOwnProperty(r)&&(t=m[r],t.style.height="auto",n=t.offsetHeight,t.style.height=(o>n?o:n)+"px")}function d(e){var t,r,i,a=(n.get(),A.getElementsByClassName("skrollable-between"));return 1===a.length&&(t=m[a[0].getAttribute("data-anchor-target")],f!==t&&o("change",[t]),f=t),2===a.length?(r="up"===e.direction?0:1,i="up"===e.direction?1:0,t=m[a[r].getAttribute("data-anchor-target")],s(t)||(t=m[a[i].getAttribute("data-anchor-target")]),f!==t&&o("change",[t]),f=t,t):void 0}function s(t){var r=n.get(),o=r.getScrollTop(),i=e.innerHeight,a=o+i,l=r.relativeToAbsolute(t,"top","top"),d=r.relativeToAbsolute(t,"top","bottom"),s=i*k.offset/100;return a>l+s&&d-s>o}function u(e,n){{var r,o,i={};+new Date}if("string"==typeof e)for(e=t.querySelectorAll(e),o=e.length-1;o>-1;o--)r=e[o],n.unshift(r),r.id=r.id?r.id:"skroll-deck-id-"+o,i["#"+r.id]=r;return i}function c(e){var n,r,o,i=t.createElement("ul"),a=t.createElement("li");for(i.style.display="none",a.setAttribute("data-top-bottom",""),a.setAttribute("data-bottom-top",""),n=0,r=e.length;r>n;n++)o=a.cloneNode(),o.setAttribute("data-skrollr-decks-index",n),o.setAttribute("data-anchor-target","#"+e[n].id),i.appendChild(o);return i}var f,g={decks:".skrollr-deck",offset:15,duration:600,easing:"quadratic",delay:500,autoscroll:!0},h={render:null,change:null},p=e.setTimeout,v=e.clearTimeout,b=!1,k={},m={},y=[],A=t.createElement("ul");return t.addEventListener("keydown",function(e){var t=n.get(),r=[38,40,33,34,36,35];r.indexOf(e.keyCode)>-1&&t&&t.isAnimatingTo()&&t.stopAnimateTo()},!1),t.addEventListener("DOMContentLoaded",function(){var n=t.querySelector(".skrollr-decks-init");n&&"BODY"===n.tagName&&(i(),e.addEventListener("load",l,!1),e.addEventListener("load",d,!1),e.addEventListener("resize",l,!1),e.addEventListener("resize",d,!1))},!1),{init:i,animateTo:a,refresh:l,on:r}}); \ No newline at end of file diff --git a/index.html b/index.html index 36a30ae..ce5a41f 100644 --- a/index.html +++ b/index.html @@ -187,6 +187,10 @@