aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--js/reveal.js51
2 files changed, 36 insertions, 16 deletions
diff --git a/README.md b/README.md
index 647d07c..1548b90 100644
--- a/README.md
+++ b/README.md
@@ -66,6 +66,7 @@ Reveal.initialize({
- Support for mouse wheel navigation ([naugtur](https://github.com/naugtur))
- Delayed updates to URL hash to work around a bug in Chrome
- Included a classList polyfill for IE9
+- Support for wireless presenter keys
#### 1.1
diff --git a/js/reveal.js b/js/reveal.js
index adc5278..885884f 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -659,22 +659,41 @@ var Reveal = (function(){
slide();
}
}
- function navigatePrev() {
- if( availableRoutes().up ) navigateUp();
- else {
- // Go to last slide in previous vertical stack
- var pastSlides = document.querySelectorAll('#reveal .slides>section.past');
- if( pastSlides.length > 0 ) {
- var prevVerticalSlides = pastSlides[pastSlides.length - 1].querySelectorAll('section');
- indexv = prevVerticalSlides.length > 0 ? prevVerticalSlides.length - 1 : 0;
- indexh --;
- slide();
- }
- }
- }
- function navigateNext() {
- availableRoutes().down ? navigateDown() : navigateRight();
- }
+
+ /**
+ * Navigates backwards, prioritized in the following order:
+ * 1) Previous fragment
+ * 2) Previous vertical slide
+ * 3) Previous horizontal slide
+ */
+ function navigatePrev() {
+ // Prioritize revealing fragments
+ if( previousFragment() === false ) {
+ if( availableRoutes().up ) {
+ navigateUp();
+ }
+ else {
+ // Fetch the previous horizontal slide, if there is one
+ var previousSlide = document.querySelector( '#reveal .slides>section.past:nth-child(' + indexh + ')' );
+
+ if( previousSlide ) {
+ indexv = ( previousSlide.querySelectorAll('section').length + 1 ) || 0;
+ indexh --;
+ slide();
+ }
+ }
+ }
+ }
+
+ /**
+ * Same as #navigatePrev() but navigates forwards.
+ */
+ function navigateNext() {
+ // Prioritize revealing fragments
+ if( nextFragment() === false ) {
+ availableRoutes().down ? navigateDown() : navigateRight();
+ }
+ }
// Expose some methods publicly
return {