From 2e1f36fe00993415b7fc1e6bdff7ebf0b9794e29 Mon Sep 17 00:00:00 2001
From: Pan <panfree23@gmail.com>
Date: Fri, 24 Aug 2018 13:45:03 +0800
Subject: [PATCH] fix[backToTop]: continuous click bug #1007

---
 src/components/BackToTop/index.vue | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/components/BackToTop/index.vue b/src/components/BackToTop/index.vue
index 2d4b0193..39977178 100644
--- a/src/components/BackToTop/index.vue
+++ b/src/components/BackToTop/index.vue
@@ -45,7 +45,8 @@ export default {
   data() {
     return {
       visible: false,
-      interval: null
+      interval: null,
+      isMoving: false
     }
   },
   mounted() {
@@ -62,13 +63,16 @@ export default {
       this.visible = window.pageYOffset > this.visibilityHeight
     },
     backToTop() {
+      if (this.isMoving) return
       const start = window.pageYOffset
       let i = 0
+      this.isMoving = true
       this.interval = setInterval(() => {
         const next = Math.floor(this.easeInOutQuad(10 * i, start, -start, 500))
         if (next <= this.backPosition) {
           window.scrollTo(0, this.backPosition)
           clearInterval(this.interval)
+          this.isMoving = false
         } else {
           window.scrollTo(0, next)
         }
-- 
GitLab