From 82342672ea09ed46580b25bd2d137f056d5faaa0 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Thu, 16 Oct 2014 16:17:41 +0200 Subject: [PATCH] fix navigatePrev in rtl mode #1030 --- js/reveal.js | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index 4b1fbc8..1b7e432 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -3426,10 +3426,20 @@ navigateUp(); } else { + // Fetch the previous horizontal slide, if there is one + var previousSlide; + if( config.rtl ) { - navigateRight(); - } else { - navigateLeft(); + previousSlide = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.future' ) ).pop(); + } + else { + previousSlide = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.past' ) ).pop(); + } + + if( previousSlide ) { + var v = ( previousSlide.querySelectorAll( 'section' ).length - 1 ) || undefined; + var h = indexh - 1; + slide( h, v ); } } } @@ -3437,16 +3447,20 @@ } /** - * Same as #navigatePrev() but navigates forwards. + * The reverse of #navigatePrev(). */ function navigateNext() { // Prioritize revealing fragments if( nextFragment() === false ) { - if( config.rtl ) { - availableRoutes().down ? navigateDown() : navigateLeft(); - } else { - availableRoutes().down ? navigateDown() : navigateRight(); + if( availableRoutes().down ) { + navigateDown(); + } + else if( config.rtl ) { + navigateLeft(); + } + else { + navigateRight(); } }