Просмотр исходного кода

修复web阅读翻页动画未完成时再次触发翻页导致页面抽搐的问题

StanHustler 3 лет назад
Родитель
Сommit
c7e3a6aa8f
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      modules/web/src/views/BookChapter.vue

+ 6 - 0
modules/web/src/views/BookChapter.vue

@@ -403,8 +403,10 @@ const onReachBottom = (entries) => {
   }
 };
 
+let canJump = true;
 // 监听方向键
 const handleKeyPress = (event) => {
+  if (!canJump) return;
   switch (event.key) {
     case "ArrowLeft":
       event.stopPropagation();
@@ -425,8 +427,10 @@ const handleKeyPress = (event) => {
           type: "warn",
         });
       } else {
+        canJump = false;
         jump(0 - document.documentElement.clientHeight + 100, {
           duration: store.config.jumpDuration,
+          callback: () => (canJump = true),
         });
       }
       break;
@@ -443,8 +447,10 @@ const handleKeyPress = (event) => {
           type: "warn",
         });
       } else {
+        canJump = false;
         jump(document.documentElement.clientHeight - 100, {
           duration: store.config.jumpDuration,
+          callback: () => (canJump = true),
         });
       }
       break;