1
0
mirror of https://github.com/hakimel/reveal.js.git synced 2025-07-31 03:40:28 +02:00

fix vertical swipe navigation not blocking page scrolling in embedded decks

This commit is contained in:
Hakim El Hattab
2024-03-19 09:09:44 +01:00
parent d4e5c39fe4
commit 924bdb6305
8 changed files with 16 additions and 6 deletions

View File

@@ -631,11 +631,16 @@ $controlsArrowAngleActive: 36deg;
touch-action: pinch-zoom; touch-action: pinch-zoom;
} }
// Swiping on an embedded deck should not block page scrolling // Swiping on an embedded deck should not block page scrolling...
.reveal.embedded { .reveal.embedded {
touch-action: pan-y; touch-action: pan-y;
} }
// ... unless we're on a vertical slide
.reveal.embedded.is-vertical-slide {
touch-action: none;
}
.reveal .slides { .reveal .slides {
position: absolute; position: absolute;
width: 100%; width: 100%;

2
dist/reveal.css vendored

File diff suppressed because one or more lines are too long

2
dist/reveal.esm.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/reveal.js vendored

File diff suppressed because one or more lines are too long

2
dist/reveal.js.map vendored

File diff suppressed because one or more lines are too long

View File

@@ -103,6 +103,8 @@ export default class Touch {
*/ */
onTouchStart( event ) { onTouchStart( event ) {
this.touchCaptured = false;
if( this.isSwipePrevented( event.target ) ) return true; if( this.isSwipePrevented( event.target ) ) return true;
this.touchStartX = event.touches[0].clientX; this.touchStartX = event.touches[0].clientX;

View File

@@ -1446,6 +1446,9 @@ export default function( revealElement, options ) {
let currentHorizontalSlide = horizontalSlides[ indexh ], let currentHorizontalSlide = horizontalSlides[ indexh ],
currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' ); currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' );
// Indicate when we're on a vertical slide
revealElement.classList.toggle( 'is-vertical-slide', currentVerticalSlides.length > 1 );
// Store references to the previous and current slides // Store references to the previous and current slides
currentSlide = currentVerticalSlides[ indexv ] || currentHorizontalSlide; currentSlide = currentVerticalSlides[ indexv ] || currentHorizontalSlide;