make view distance configurable #527

This commit is contained in:
Hakim El Hattab committed 2013-08-10 13:16:45 -04:00
1 parent 8ad81aa1a5
commit 8e01c03824
2 files changed
+11 -8

No files matched your search

+9 -6
View File
@@ -85,6 +85,9 @@ var Reveal = (function(){
// Transition style for full page slide backgrounds // Transition style for full page slide backgrounds
backgroundTransition: 'default', // default/linear/none backgroundTransition: 'default', // default/linear/none
// Number of slides away from the current that are visible
viewDistance: 3,
// Script dependencies to load // Script dependencies to load
dependencies: [] dependencies: []
}, },
@@ -1583,15 +1586,15 @@ var Reveal = (function(){
// The number of steps away from the present slide that will // The number of steps away from the present slide that will
// be visible // be visible
var threshold = 3; var viewDistance = config.viewDistance;
// Heavily limited on weaker devices // Heavily limited on weaker devices
if( isMobileDevice ) { if( isMobileDevice ) {
threshold = 1; viewDistance = 1;
} }
if( isOverview() ) { if( isOverview() ) {
threshold = 6; viewDistance = 6;
} }
for( var x = 0; x < horizontalSlidesLength; x++ ) { for( var x = 0; x < horizontalSlidesLength; x++ ) {
@@ -1614,16 +1617,16 @@ var Reveal = (function(){
distance = Math.sqrt( dx*dx + dy*dy ); distance = Math.sqrt( dx*dx + dy*dy );
verticalSlide.style.display = distance > threshold ? 'none' : 'block'; verticalSlide.style.display = distance > viewDistance ? 'none' : 'block';
} }
} }
else { else {
// Loops so that it measures 1 between the first and last slides // Loops so that it measures 1 between the first and last slides
distance = Math.abs( ( indexh - x ) % ( horizontalSlidesLength - threshold ) ) || 0; distance = Math.abs( ( indexh - x ) % ( horizontalSlidesLength - viewDistance ) ) || 0;
horizontalSlide.style.display = distance > threshold ? 'none' : 'block'; horizontalSlide.style.display = distance > viewDistance ? 'none' : 'block';
} }
} }
+2 -2
View File
@@ -1,8 +1,8 @@
/*! /*!
* reveal.js 2.5.0 (2013-08-10, 13:10) * reveal.js 2.5.0 (2013-08-10, 13:15)
* http://lab.hakim.se/reveal-js * http://lab.hakim.se/reveal-js
* MIT licensed * MIT licensed
* *
* Copyright (C) 2013 Hakim El Hattab, http://hakim.se * Copyright (C) 2013 Hakim El Hattab, http://hakim.se
*/ */
var Reveal=function(){"use strict";function e(e){return t(),Nt||Pt?(window.addEventListener("load",S,!1),d(Yt,e),o(),a(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){Pt="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,Nt="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,Ct=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function n(){if(Wt.theme=document.querySelector("#theme"),Wt.wrapper=document.querySelector(".reveal"),Wt.slides=document.querySelector(".reveal .slides"),document.querySelector(".reveal .backgrounds")||(Wt.background=document.createElement("div"),Wt.background.classList.add("backgrounds"),Wt.wrapper.appendChild(Wt.background)),!Wt.wrapper.querySelector(".progress")){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="<span></span>",Wt.wrapper.appendChild(e)}if(!Wt.wrapper.querySelector(".controls")){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>',Wt.wrapper.appendChild(t)}if(!Wt.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),Wt.wrapper.appendChild(n)}if(!Wt.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),Wt.wrapper.appendChild(r)}Wt.progress=document.querySelector(".reveal .progress"),Wt.progressbar=document.querySelector(".reveal .progress span"),Yt.controls&&(Wt.controls=document.querySelector(".reveal .controls"),Wt.controlsLeft=u(document.querySelectorAll(".navigate-left")),Wt.controlsRight=u(document.querySelectorAll(".navigate-right")),Wt.controlsUp=u(document.querySelectorAll(".navigate-up")),Wt.controlsDown=u(document.querySelectorAll(".navigate-down")),Wt.controlsPrev=u(document.querySelectorAll(".navigate-prev")),Wt.controlsNext=u(document.querySelectorAll(".navigate-next")))}function r(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}p()&&document.body.classList.add("print-pdf"),Wt.background.innerHTML="",Wt.background.classList.add("no-transition"),u(document.querySelectorAll(Rt)).forEach(function(t){var n;n=p()?e(t,t):e(t,Wt.background),u(t.querySelectorAll("section")).forEach(function(t){p()?e(t,t):e(t,n)})})}function o(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",m,!1),window.addEventListener("orientationchange",m,!1))}function a(){function e(){n.length&&head.js.apply(null,n),i()}for(var t=[],n=[],r=0,o=Yt.dependencies.length;o>r;r++){var a=Yt.dependencies[r];(!a.condition||a.condition())&&(a.async?n.push(a.src):t.push(a.src),"function"==typeof a.callback&&head.ready(a.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],a.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function i(){n(),s(),V(),setTimeout(function(){g("ready",{indexh:qt,indexv:xt,currentSlide:Mt})},1)}function s(e){if(Wt.wrapper.classList.remove(Yt.transition),"object"==typeof e&&d(Yt,e),Pt===!1&&(Yt.transition="linear"),Wt.wrapper.classList.add(Yt.transition),Wt.wrapper.setAttribute("data-transition-speed",Yt.transitionSpeed),Wt.wrapper.setAttribute("data-background-transition",Yt.backgroundTransition),Wt.controls&&(Wt.controls.style.display=Yt.controls&&Wt.controls?"block":"none"),Wt.progress&&(Wt.progress.style.display=Yt.progress&&Wt.progress?"block":"none"),Yt.rtl?Wt.wrapper.classList.add("rtl"):Wt.wrapper.classList.remove("rtl"),Yt.center?Wt.wrapper.classList.add("center"):Wt.wrapper.classList.remove("center"),Yt.mouseWheel?(docLine truncated var Reveal=function(){"use strict";function e(e){return t(),Dt||Pt?(window.addEventListener("load",S,!1),d(Yt,e),o(),a(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){Pt="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,Dt="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,Nt=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function n(){if(Wt.theme=document.querySelector("#theme"),Wt.wrapper=document.querySelector(".reveal"),Wt.slides=document.querySelector(".reveal .slides"),document.querySelector(".reveal .backgrounds")||(Wt.background=document.createElement("div"),Wt.background.classList.add("backgrounds"),Wt.wrapper.appendChild(Wt.background)),!Wt.wrapper.querySelector(".progress")){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="<span></span>",Wt.wrapper.appendChild(e)}if(!Wt.wrapper.querySelector(".controls")){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>',Wt.wrapper.appendChild(t)}if(!Wt.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),Wt.wrapper.appendChild(n)}if(!Wt.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),Wt.wrapper.appendChild(r)}Wt.progress=document.querySelector(".reveal .progress"),Wt.progressbar=document.querySelector(".reveal .progress span"),Yt.controls&&(Wt.controls=document.querySelector(".reveal .controls"),Wt.controlsLeft=u(document.querySelectorAll(".navigate-left")),Wt.controlsRight=u(document.querySelectorAll(".navigate-right")),Wt.controlsUp=u(document.querySelectorAll(".navigate-up")),Wt.controlsDown=u(document.querySelectorAll(".navigate-down")),Wt.controlsPrev=u(document.querySelectorAll(".navigate-prev")),Wt.controlsNext=u(document.querySelectorAll(".navigate-next")))}function r(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}p()&&document.body.classList.add("print-pdf"),Wt.background.innerHTML="",Wt.background.classList.add("no-transition"),u(document.querySelectorAll(Rt)).forEach(function(t){var n;n=p()?e(t,t):e(t,Wt.background),u(t.querySelectorAll("section")).forEach(function(t){p()?e(t,t):e(t,n)})})}function o(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",m,!1),window.addEventListener("orientationchange",m,!1))}function a(){function e(){n.length&&head.js.apply(null,n),i()}for(var t=[],n=[],r=0,o=Yt.dependencies.length;o>r;r++){var a=Yt.dependencies[r];(!a.condition||a.condition())&&(a.async?n.push(a.src):t.push(a.src),"function"==typeof a.callback&&head.ready(a.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],a.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function i(){n(),s(),V(),setTimeout(function(){g("ready",{indexh:qt,indexv:xt,currentSlide:Mt})},1)}function s(e){if(Wt.wrapper.classList.remove(Yt.transition),"object"==typeof e&&d(Yt,e),Pt===!1&&(Yt.transition="linear"),Wt.wrapper.classList.add(Yt.transition),Wt.wrapper.setAttribute("data-transition-speed",Yt.transitionSpeed),Wt.wrapper.setAttribute("data-background-transition",Yt.backgroundTransition),Wt.controls&&(Wt.controls.style.display=Yt.controls&&Wt.controls?"block":"none"),Wt.progress&&(Wt.progress.style.display=Yt.progress&&Wt.progress?"block":"none"),Yt.rtl?Wt.wrapper.classList.add("rtl"):Wt.wrapper.classList.remove("rtl"),Yt.center?Wt.wrapper.classList.add("center"):Wt.wrapper.classList.remove("center"),Yt.mouseWheel?(docLine truncated