Ver Fonte

滚动优化

刘洋 há 9 meses atrás
pai
commit
f439de9f9e

+ 22 - 3
src/modules/question/components/import-edit/scrollMixins.js

@@ -1,5 +1,11 @@
 import { throttle } from "lodash";
 import { throttle } from "lodash";
 export default {
 export default {
+  data() {
+    return {
+      leftScrollTimeStamp: 0,
+      rightScrollTimeStamp: 0,
+    };
+  },
   methods: {
   methods: {
     registScrollEvent() {
     registScrollEvent() {
       document
       document
@@ -21,7 +27,14 @@ export default {
       this.paperScrollEvent(e);
       this.paperScrollEvent(e);
     }, 20),
     }, 20),
     paperScrollEvent(e) {
     paperScrollEvent(e) {
-      console.log(2, e.target);
+      this.rightScrollTimeStamp = e.timeStamp;
+      if (
+        this.leftScrollTimeStamp > this.rightScrollTimeStamp ||
+        this.rightScrollTimeStamp - this.leftScrollTimeStamp < 15
+      ) {
+        //判断为用户是从左边触发滚动的
+        return;
+      }
       if (this.scrollType === "rich-text") {
       if (this.scrollType === "rich-text") {
         this.lastPaperScrollTop =
         this.lastPaperScrollTop =
           document.getElementById("qe-part-paper").scrollTop;
           document.getElementById("qe-part-paper").scrollTop;
@@ -95,7 +108,14 @@ export default {
       this.richTextScrollEvent(e);
       this.richTextScrollEvent(e);
     }, 20),
     }, 20),
     richTextScrollEvent(e) {
     richTextScrollEvent(e) {
-      console.log(1, e.target);
+      this.leftScrollTimeStamp = e.timeStamp;
+      if (
+        this.rightScrollTimeStamp > this.leftScrollTimeStamp ||
+        this.leftScrollTimeStamp - this.rightScrollTimeStamp < 15
+      ) {
+        //判断为用户是从右边触发滚动的
+        return;
+      }
       if (this.scrollType === "paper") {
       if (this.scrollType === "paper") {
         this.lastRichTextScrollTop = document.getElementById(
         this.lastRichTextScrollTop = document.getElementById(
           "qe-part-richtext-list"
           "qe-part-richtext-list"
@@ -110,7 +130,6 @@ export default {
       if (!this.$refs.QuestionImportPaperEdit) return;
       if (!this.$refs.QuestionImportPaperEdit) return;
 
 
       const isScrollDown = e.target.scrollTop > this.lastRichTextScrollTop;
       const isScrollDown = e.target.scrollTop > this.lastRichTextScrollTop;
-      // console.log(isScrollDown, e.target.scrollTop, this.lastRichTextScrollTop);
       this.lastRichTextScrollTop = e.target.scrollTop;
       this.lastRichTextScrollTop = e.target.scrollTop;
       const offsetH = isScrollDown ? 150 : 0;
       const offsetH = isScrollDown ? 150 : 0;
       const scrollTop = e.target.scrollTop + offsetH;
       const scrollTop = e.target.scrollTop + offsetH;