navigateNext no longer gets stuck on first stack when looping is enabled
This commit is contained in:
parent
d5f4edeeef
commit
325162692e
1 changed files with 25 additions and 2 deletions
27
js/reveal.js
27
js/reveal.js
|
@ -4410,7 +4410,17 @@
|
||||||
|
|
||||||
// Prioritize revealing fragments
|
// Prioritize revealing fragments
|
||||||
if( nextFragment() === false ) {
|
if( nextFragment() === false ) {
|
||||||
if( availableRoutes().down ) {
|
|
||||||
|
var routes = availableRoutes();
|
||||||
|
|
||||||
|
// When looping is enabled `routes.down` is always available
|
||||||
|
// so we need a separate check for when we've reached the
|
||||||
|
// end of a stack and should move horizontally
|
||||||
|
if( routes.down && routes.right && config.loop && Reveal.isLastVerticalSlide( currentSlide ) ) {
|
||||||
|
routes.down = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( routes.down ) {
|
||||||
navigateDown();
|
navigateDown();
|
||||||
}
|
}
|
||||||
else if( config.rtl ) {
|
else if( config.rtl ) {
|
||||||
|
@ -5300,7 +5310,7 @@
|
||||||
// Returns true if we're currently on the last slide
|
// Returns true if we're currently on the last slide
|
||||||
isLastSlide: function() {
|
isLastSlide: function() {
|
||||||
if( currentSlide ) {
|
if( currentSlide ) {
|
||||||
// Does this slide has next a sibling?
|
// Does this slide have a next sibling?
|
||||||
if( currentSlide.nextElementSibling ) return false;
|
if( currentSlide.nextElementSibling ) return false;
|
||||||
|
|
||||||
// If it's vertical, does its parent have a next sibling?
|
// If it's vertical, does its parent have a next sibling?
|
||||||
|
@ -5312,6 +5322,19 @@
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Returns true if we're on the last slide in the current
|
||||||
|
// vertical stack
|
||||||
|
isLastVerticalSlide: function() {
|
||||||
|
if( currentSlide && isVerticalSlide( currentSlide ) ) {
|
||||||
|
// Does this slide have a next sibling?
|
||||||
|
if( currentSlide.nextElementSibling ) return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
// Checks if reveal.js has been loaded and is ready for use
|
// Checks if reveal.js has been loaded and is ready for use
|
||||||
isReady: function() {
|
isReady: function() {
|
||||||
return loaded;
|
return loaded;
|
||||||
|
|
Loading…
Reference in a new issue