update dist and lib
This commit is contained in:
parent
663cfd24db
commit
d21bcd304d
|
@ -19526,7 +19526,8 @@
|
||||||
avgHeight: 0,
|
avgHeight: 0,
|
||||||
aligns: [],
|
aligns: [],
|
||||||
animationIndex: 0,
|
animationIndex: 0,
|
||||||
animationHandler: ''
|
animationHandler: '',
|
||||||
|
updater: 0
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -19702,7 +19703,8 @@
|
||||||
animationIndex,
|
animationIndex,
|
||||||
mergedConfig,
|
mergedConfig,
|
||||||
rowsData,
|
rowsData,
|
||||||
animation
|
animation,
|
||||||
|
updater
|
||||||
} = this;
|
} = this;
|
||||||
const {
|
const {
|
||||||
waitTime,
|
waitTime,
|
||||||
|
@ -19711,13 +19713,19 @@
|
||||||
} = mergedConfig;
|
} = mergedConfig;
|
||||||
const rowLength = rowsData.length;
|
const rowLength = rowsData.length;
|
||||||
if (rowNum >= rowLength) return;
|
if (rowNum >= rowLength) return;
|
||||||
if (start) await new Promise(resolve => setTimeout(resolve, waitTime));
|
|
||||||
|
if (start) {
|
||||||
|
await new Promise(resolve => setTimeout(resolve, waitTime));
|
||||||
|
if (updater !== this.updater) return;
|
||||||
|
}
|
||||||
|
|
||||||
const animationNum = carousel === 'single' ? 1 : rowNum;
|
const animationNum = carousel === 'single' ? 1 : rowNum;
|
||||||
let rows = rowsData.slice(animationIndex);
|
let rows = rowsData.slice(animationIndex);
|
||||||
rows.push(...rowsData.slice(0, animationIndex));
|
rows.push(...rowsData.slice(0, animationIndex));
|
||||||
this.rows = rows;
|
this.rows = rows;
|
||||||
this.heights = new Array(rowLength).fill(avgHeight);
|
this.heights = new Array(rowLength).fill(avgHeight);
|
||||||
await new Promise(resolve => setTimeout(resolve, 300));
|
await new Promise(resolve => setTimeout(resolve, 300));
|
||||||
|
if (updater !== this.updater) return;
|
||||||
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0));
|
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0));
|
||||||
animationIndex += animationNum;
|
animationIndex += animationNum;
|
||||||
const back = animationIndex - rowLength;
|
const back = animationIndex - rowLength;
|
||||||
|
@ -19728,8 +19736,10 @@
|
||||||
|
|
||||||
stopAnimation() {
|
stopAnimation() {
|
||||||
const {
|
const {
|
||||||
animationHandler
|
animationHandler,
|
||||||
|
updater
|
||||||
} = this;
|
} = this;
|
||||||
|
this.updater = (updater + 1) % 999999;
|
||||||
if (!animationHandler) return;
|
if (!animationHandler) return;
|
||||||
clearTimeout(animationHandler);
|
clearTimeout(animationHandler);
|
||||||
},
|
},
|
||||||
|
@ -19850,7 +19860,7 @@
|
||||||
/* style */
|
/* style */
|
||||||
const __vue_inject_styles__$u = function (inject) {
|
const __vue_inject_styles__$u = function (inject) {
|
||||||
if (!inject) return
|
if (!inject) return
|
||||||
inject("data-v-710aba07_0", { source: ".dv-scroll-board {\n position: relative;\n width: 100%;\n height: 100%;\n color: #fff;\n}\n.dv-scroll-board .text {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .header {\n display: flex;\n flex-direction: row;\n font-size: 15px;\n}\n.dv-scroll-board .header .header-item {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows {\n overflow: hidden;\n}\n.dv-scroll-board .rows .row-item {\n display: flex;\n font-size: 14px;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows .ceil {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .rows .index {\n border-radius: 3px;\n padding: 0px 3px;\n}\n", map: {"version":3,"sources":["main.vue"],"names":[],"mappings":"AAAA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,WAAW;AACb;AACA;EACE,eAAe;EACf,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,eAAe;EACf,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,eAAe;EACf,oBAAoB;AACtB;AACA;EACE,eAAe;EACf,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB","file":"main.vue","sourcesContent":[".dv-scroll-board {\n position: relative;\n width: 100%;\n height: 100%;\n color: #fff;\n}\n.dv-scroll-board .text {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .header {\n display: flex;\n flex-direction: row;\n font-size: 15px;\n}\n.dv-scroll-board .header .header-item {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows {\n overflow: hidden;\n}\n.dv-scroll-board .rows .row-item {\n display: flex;\n font-size: 14px;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows .ceil {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .rows .index {\n border-radius: 3px;\n padding: 0px 3px;\n}\n"]}, media: undefined });
|
inject("data-v-09f3ff9e_0", { source: ".dv-scroll-board {\n position: relative;\n width: 100%;\n height: 100%;\n color: #fff;\n}\n.dv-scroll-board .text {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .header {\n display: flex;\n flex-direction: row;\n font-size: 15px;\n}\n.dv-scroll-board .header .header-item {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows {\n overflow: hidden;\n}\n.dv-scroll-board .rows .row-item {\n display: flex;\n font-size: 14px;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows .ceil {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .rows .index {\n border-radius: 3px;\n padding: 0px 3px;\n}\n", map: {"version":3,"sources":["main.vue"],"names":[],"mappings":"AAAA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,WAAW;AACb;AACA;EACE,eAAe;EACf,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,eAAe;EACf,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,eAAe;EACf,oBAAoB;AACtB;AACA;EACE,eAAe;EACf,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB","file":"main.vue","sourcesContent":[".dv-scroll-board {\n position: relative;\n width: 100%;\n height: 100%;\n color: #fff;\n}\n.dv-scroll-board .text {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .header {\n display: flex;\n flex-direction: row;\n font-size: 15px;\n}\n.dv-scroll-board .header .header-item {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows {\n overflow: hidden;\n}\n.dv-scroll-board .rows .row-item {\n display: flex;\n font-size: 14px;\n transition: all 0.3s;\n}\n.dv-scroll-board .rows .ceil {\n padding: 0 10px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dv-scroll-board .rows .index {\n border-radius: 3px;\n padding: 0px 3px;\n}\n"]}, media: undefined });
|
||||||
|
|
||||||
};
|
};
|
||||||
/* scoped */
|
/* scoped */
|
||||||
|
@ -19935,7 +19945,8 @@
|
||||||
rows: [],
|
rows: [],
|
||||||
heights: [],
|
heights: [],
|
||||||
animationIndex: 0,
|
animationIndex: 0,
|
||||||
animationHandler: ''
|
animationHandler: '',
|
||||||
|
updater: 0
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -20047,7 +20058,8 @@
|
||||||
animationIndex,
|
animationIndex,
|
||||||
mergedConfig,
|
mergedConfig,
|
||||||
rowsData,
|
rowsData,
|
||||||
animation
|
animation,
|
||||||
|
updater
|
||||||
} = this;
|
} = this;
|
||||||
const {
|
const {
|
||||||
waitTime,
|
waitTime,
|
||||||
|
@ -20056,13 +20068,19 @@
|
||||||
} = mergedConfig;
|
} = mergedConfig;
|
||||||
const rowLength = rowsData.length;
|
const rowLength = rowsData.length;
|
||||||
if (rowNum >= rowLength) return;
|
if (rowNum >= rowLength) return;
|
||||||
if (start) await new Promise(resolve => setTimeout(resolve, waitTime));
|
|
||||||
|
if (start) {
|
||||||
|
await new Promise(resolve => setTimeout(resolve, waitTime));
|
||||||
|
if (updater !== this.updater) return;
|
||||||
|
}
|
||||||
|
|
||||||
const animationNum = carousel === 'single' ? 1 : rowNum;
|
const animationNum = carousel === 'single' ? 1 : rowNum;
|
||||||
let rows = rowsData.slice(animationIndex);
|
let rows = rowsData.slice(animationIndex);
|
||||||
rows.push(...rowsData.slice(0, animationIndex));
|
rows.push(...rowsData.slice(0, animationIndex));
|
||||||
this.rows = rows;
|
this.rows = rows;
|
||||||
this.heights = new Array(rowLength).fill(avgHeight);
|
this.heights = new Array(rowLength).fill(avgHeight);
|
||||||
await new Promise(resolve => setTimeout(resolve, 300));
|
await new Promise(resolve => setTimeout(resolve, 300));
|
||||||
|
if (updater !== this.updater) return;
|
||||||
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0));
|
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0));
|
||||||
animationIndex += animationNum;
|
animationIndex += animationNum;
|
||||||
const back = animationIndex - rowLength;
|
const back = animationIndex - rowLength;
|
||||||
|
@ -20073,8 +20091,10 @@
|
||||||
|
|
||||||
stopAnimation() {
|
stopAnimation() {
|
||||||
const {
|
const {
|
||||||
animationHandler
|
animationHandler,
|
||||||
|
updater
|
||||||
} = this;
|
} = this;
|
||||||
|
this.updater = (updater + 1) % 999999;
|
||||||
if (!animationHandler) return;
|
if (!animationHandler) return;
|
||||||
clearTimeout(animationHandler);
|
clearTimeout(animationHandler);
|
||||||
}
|
}
|
||||||
|
@ -20146,7 +20166,7 @@
|
||||||
/* style */
|
/* style */
|
||||||
const __vue_inject_styles__$v = function (inject) {
|
const __vue_inject_styles__$v = function (inject) {
|
||||||
if (!inject) return
|
if (!inject) return
|
||||||
inject("data-v-07d856a8_0", { source: ".dv-scroll-ranking-board {\n width: 100%;\n height: 100%;\n color: #fff;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .row-item {\n transition: all 0.3s;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-info {\n display: flex;\n width: 100%;\n font-size: 13px;\n}\n.dv-scroll-ranking-board .ranking-info .rank {\n width: 40px;\n color: #1370fb;\n}\n.dv-scroll-ranking-board .ranking-info .info-name {\n flex: 1;\n}\n.dv-scroll-ranking-board .ranking-column {\n border-bottom: 2px solid rgba(19, 112, 251, 0.5);\n margin-top: 5px;\n}\n.dv-scroll-ranking-board .ranking-column .inside-column {\n position: relative;\n height: 6px;\n background-color: #1370fb;\n margin-bottom: 2px;\n border-radius: 1px;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-column .shine {\n position: absolute;\n left: 0%;\n top: 2px;\n height: 2px;\n width: 50px;\n transform: translateX(-100%);\n background: radial-gradient(#28f8ff 5%, transparent 80%);\n animation: shine 3s ease-in-out infinite alternate;\n}\n@keyframes shine {\n80% {\n left: 0%;\n transform: translateX(-100%);\n}\n100% {\n left: 100%;\n transform: translateX(0%);\n}\n}\n", map: {"version":3,"sources":["main.vue"],"names":[],"mappings":"AAAA;EACE,WAAW;EACX,YAAY;EACZ,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,oBAAoB;EACpB,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,WAAW;EACX,eAAe;AACjB;AACA;EACE,WAAW;EACX,cAAc;AAChB;AACA;EACE,OAAO;AACT;AACA;EACE,gDAAgD;EAChD,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,QAAQ;EACR,QAAQ;EACR,WAAW;EACX,WAAW;EACX,4BAA4B;EAC5B,wDAAwD;EACxD,kDAAkD;AACpD;AACA;AACE;IACE,QAAQ;IACR,4BAA4B;AAC9B;AACA;IACE,UAAU;IACV,yBAAyB;AAC3B;AACF","file":"main.vue","sourcesContent":[".dv-scroll-ranking-board {\n width: 100%;\n height: 100%;\n color: #fff;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .row-item {\n transition: all 0.3s;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-info {\n display: flex;\n width: 100%;\n font-size: 13px;\n}\n.dv-scroll-ranking-board .ranking-info .rank {\n width: 40px;\n color: #1370fb;\n}\n.dv-scroll-ranking-board .ranking-info .info-name {\n flex: 1;\n}\n.dv-scroll-ranking-board .ranking-column {\n border-bottom: 2px solid rgba(19, 112, 251, 0.5);\n margin-top: 5px;\n}\n.dv-scroll-ranking-board .ranking-column .inside-column {\n position: relative;\n height: 6px;\n background-color: #1370fb;\n margin-bottom: 2px;\n border-radius: 1px;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-column .shine {\n position: absolute;\n left: 0%;\n top: 2px;\n height: 2px;\n width: 50px;\n transform: translateX(-100%);\n background: radial-gradient(#28f8ff 5%, transparent 80%);\n animation: shine 3s ease-in-out infinite alternate;\n}\n@keyframes shine {\n 80% {\n left: 0%;\n transform: translateX(-100%);\n }\n 100% {\n left: 100%;\n transform: translateX(0%);\n }\n}\n"]}, media: undefined });
|
inject("data-v-77171694_0", { source: ".dv-scroll-ranking-board {\n width: 100%;\n height: 100%;\n color: #fff;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .row-item {\n transition: all 0.3s;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-info {\n display: flex;\n width: 100%;\n font-size: 13px;\n}\n.dv-scroll-ranking-board .ranking-info .rank {\n width: 40px;\n color: #1370fb;\n}\n.dv-scroll-ranking-board .ranking-info .info-name {\n flex: 1;\n}\n.dv-scroll-ranking-board .ranking-column {\n border-bottom: 2px solid rgba(19, 112, 251, 0.5);\n margin-top: 5px;\n}\n.dv-scroll-ranking-board .ranking-column .inside-column {\n position: relative;\n height: 6px;\n background-color: #1370fb;\n margin-bottom: 2px;\n border-radius: 1px;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-column .shine {\n position: absolute;\n left: 0%;\n top: 2px;\n height: 2px;\n width: 50px;\n transform: translateX(-100%);\n background: radial-gradient(#28f8ff 5%, transparent 80%);\n animation: shine 3s ease-in-out infinite alternate;\n}\n@keyframes shine {\n80% {\n left: 0%;\n transform: translateX(-100%);\n}\n100% {\n left: 100%;\n transform: translateX(0%);\n}\n}\n", map: {"version":3,"sources":["main.vue"],"names":[],"mappings":"AAAA;EACE,WAAW;EACX,YAAY;EACZ,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,oBAAoB;EACpB,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,WAAW;EACX,eAAe;AACjB;AACA;EACE,WAAW;EACX,cAAc;AAChB;AACA;EACE,OAAO;AACT;AACA;EACE,gDAAgD;EAChD,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,QAAQ;EACR,QAAQ;EACR,WAAW;EACX,WAAW;EACX,4BAA4B;EAC5B,wDAAwD;EACxD,kDAAkD;AACpD;AACA;AACE;IACE,QAAQ;IACR,4BAA4B;AAC9B;AACA;IACE,UAAU;IACV,yBAAyB;AAC3B;AACF","file":"main.vue","sourcesContent":[".dv-scroll-ranking-board {\n width: 100%;\n height: 100%;\n color: #fff;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .row-item {\n transition: all 0.3s;\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-info {\n display: flex;\n width: 100%;\n font-size: 13px;\n}\n.dv-scroll-ranking-board .ranking-info .rank {\n width: 40px;\n color: #1370fb;\n}\n.dv-scroll-ranking-board .ranking-info .info-name {\n flex: 1;\n}\n.dv-scroll-ranking-board .ranking-column {\n border-bottom: 2px solid rgba(19, 112, 251, 0.5);\n margin-top: 5px;\n}\n.dv-scroll-ranking-board .ranking-column .inside-column {\n position: relative;\n height: 6px;\n background-color: #1370fb;\n margin-bottom: 2px;\n border-radius: 1px;\n overflow: hidden;\n}\n.dv-scroll-ranking-board .ranking-column .shine {\n position: absolute;\n left: 0%;\n top: 2px;\n height: 2px;\n width: 50px;\n transform: translateX(-100%);\n background: radial-gradient(#28f8ff 5%, transparent 80%);\n animation: shine 3s ease-in-out infinite alternate;\n}\n@keyframes shine {\n 80% {\n left: 0%;\n transform: translateX(-100%);\n }\n 100% {\n left: 100%;\n transform: translateX(0%);\n }\n}\n"]}, media: undefined });
|
||||||
|
|
||||||
};
|
};
|
||||||
/* scoped */
|
/* scoped */
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -161,7 +161,9 @@ export default {
|
||||||
|
|
||||||
animationIndex: 0,
|
animationIndex: 0,
|
||||||
|
|
||||||
animationHandler: ''
|
animationHandler: '',
|
||||||
|
|
||||||
|
updater: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -304,7 +306,7 @@ export default {
|
||||||
this.aligns = deepMerge(aligns, align)
|
this.aligns = deepMerge(aligns, align)
|
||||||
},
|
},
|
||||||
async animation (start = false) {
|
async animation (start = false) {
|
||||||
let { avgHeight, animationIndex, mergedConfig, rowsData, animation } = this
|
let { avgHeight, animationIndex, mergedConfig, rowsData, animation, updater } = this
|
||||||
|
|
||||||
const { waitTime, carousel, rowNum } = mergedConfig
|
const { waitTime, carousel, rowNum } = mergedConfig
|
||||||
|
|
||||||
|
@ -312,7 +314,10 @@ export default {
|
||||||
|
|
||||||
if (rowNum >= rowLength) return
|
if (rowNum >= rowLength) return
|
||||||
|
|
||||||
if (start) await new Promise(resolve => setTimeout(resolve, waitTime))
|
if (start) {
|
||||||
|
await new Promise(resolve => setTimeout(resolve, waitTime))
|
||||||
|
if (updater !== this.updater) return
|
||||||
|
}
|
||||||
|
|
||||||
const animationNum = carousel === 'single' ? 1 : rowNum
|
const animationNum = carousel === 'single' ? 1 : rowNum
|
||||||
|
|
||||||
|
@ -323,6 +328,7 @@ export default {
|
||||||
this.heights = new Array(rowLength).fill(avgHeight)
|
this.heights = new Array(rowLength).fill(avgHeight)
|
||||||
|
|
||||||
await new Promise(resolve => setTimeout(resolve, 300))
|
await new Promise(resolve => setTimeout(resolve, 300))
|
||||||
|
if (updater !== this.updater) return
|
||||||
|
|
||||||
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0))
|
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0))
|
||||||
|
|
||||||
|
@ -335,7 +341,9 @@ export default {
|
||||||
this.animationHandler = setTimeout(animation, waitTime - 300)
|
this.animationHandler = setTimeout(animation, waitTime - 300)
|
||||||
},
|
},
|
||||||
stopAnimation () {
|
stopAnimation () {
|
||||||
const { animationHandler } = this
|
const { animationHandler, updater } = this
|
||||||
|
|
||||||
|
this.updater = (updater + 1) % 999999
|
||||||
|
|
||||||
if (!animationHandler) return
|
if (!animationHandler) return
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,9 @@ export default {
|
||||||
|
|
||||||
animationIndex: 0,
|
animationIndex: 0,
|
||||||
|
|
||||||
animationHandler: ''
|
animationHandler: '',
|
||||||
|
|
||||||
|
updater: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -172,7 +174,7 @@ export default {
|
||||||
if (!onresize) this.heights = new Array(data.length).fill(avgHeight)
|
if (!onresize) this.heights = new Array(data.length).fill(avgHeight)
|
||||||
},
|
},
|
||||||
async animation (start = false) {
|
async animation (start = false) {
|
||||||
let { avgHeight, animationIndex, mergedConfig, rowsData, animation } = this
|
let { avgHeight, animationIndex, mergedConfig, rowsData, animation, updater } = this
|
||||||
|
|
||||||
const { waitTime, carousel, rowNum } = mergedConfig
|
const { waitTime, carousel, rowNum } = mergedConfig
|
||||||
|
|
||||||
|
@ -180,7 +182,10 @@ export default {
|
||||||
|
|
||||||
if (rowNum >= rowLength) return
|
if (rowNum >= rowLength) return
|
||||||
|
|
||||||
if (start) await new Promise(resolve => setTimeout(resolve, waitTime))
|
if (start) {
|
||||||
|
await new Promise(resolve => setTimeout(resolve, waitTime))
|
||||||
|
if (updater !== this.updater) return
|
||||||
|
}
|
||||||
|
|
||||||
const animationNum = carousel === 'single' ? 1 : rowNum
|
const animationNum = carousel === 'single' ? 1 : rowNum
|
||||||
|
|
||||||
|
@ -191,6 +196,7 @@ export default {
|
||||||
this.heights = new Array(rowLength).fill(avgHeight)
|
this.heights = new Array(rowLength).fill(avgHeight)
|
||||||
|
|
||||||
await new Promise(resolve => setTimeout(resolve, 300))
|
await new Promise(resolve => setTimeout(resolve, 300))
|
||||||
|
if (updater !== this.updater) return
|
||||||
|
|
||||||
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0))
|
this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0))
|
||||||
|
|
||||||
|
@ -203,7 +209,9 @@ export default {
|
||||||
this.animationHandler = setTimeout(animation, waitTime - 300)
|
this.animationHandler = setTimeout(animation, waitTime - 300)
|
||||||
},
|
},
|
||||||
stopAnimation () {
|
stopAnimation () {
|
||||||
const { animationHandler } = this
|
const { animationHandler, updater } = this
|
||||||
|
|
||||||
|
this.updater = (updater + 1) % 999999
|
||||||
|
|
||||||
if (!animationHandler) return
|
if (!animationHandler) return
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue