소스 검색

delay slide jumps a few ms

hakimel 2 년 전
부모
커밋
282680e163
5개의 변경된 파일14개의 추가작업 그리고 1개의 파일을 삭제
  1. 0 0
      dist/reveal.esm.js
  2. 0 0
      dist/reveal.esm.js.map
  3. 0 0
      dist/reveal.js
  4. 0 0
      dist/reveal.js.map
  5. 14 1
      js/controllers/jumptoslide.js

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/reveal.esm.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/reveal.esm.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/reveal.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/reveal.js.map


+ 14 - 1
js/controllers/jumptoslide.js

@@ -45,6 +45,9 @@ export default class JumpToSlide {
 		if( this.isVisible() ) {
 			this.element.remove();
 			this.jumpInput.value = '';
+
+			clearTimeout( this.jumpTimeout );
+			delete this.jumpTimeout;
 		}
 
 	}
@@ -60,6 +63,9 @@ export default class JumpToSlide {
 	 */
 	jump() {
 
+		clearTimeout( this.jumpTimeout );
+		delete this.jumpTimeout;
+
 		const value = this.jumpInput.value.trim( '' );
 		const indices = this.Reveal.location.getIndicesFromHash( value );
 
@@ -74,6 +80,13 @@ export default class JumpToSlide {
 
 	}
 
+	jumpAfter( delay ) {
+
+		clearTimeout( this.jumpTimeout );
+		this.jumpTimeout = setTimeout( () => this.jump(), delay );
+
+	}
+
 	/**
 	 * Reverts back to the slide we were on when jump to slide was
 	 * invoked.
@@ -116,7 +129,7 @@ export default class JumpToSlide {
 
 	onInput( event ) {
 
-		this.jump();
+		this.jumpAfter( 200 );
 
 	}
 

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.