diff --git a/client/components/Reader/SettingsPage/SettingsPage.vue b/client/components/Reader/SettingsPage/SettingsPage.vue index dc163c22..6f404f57 100644 --- a/client/components/Reader/SettingsPage/SettingsPage.vue +++ b/client/components/Reader/SettingsPage/SettingsPage.vue @@ -28,34 +28,34 @@
Шрифт
- - - + + + + + + +   + + + + + + + - - -   - - - - - - - - - - - + + @@ -66,14 +66,14 @@ - - - - + + + + @@ -117,14 +117,46 @@ - - - - + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + По ширине diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index 704dadb8..ac577819 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -404,9 +404,9 @@ class TextPage extends Vue { const transitionFinish = (timeout) => { return new Promise(async(resolve) => { this.resolveTransitionFinish = resolve; - let steps = timeout/100; - while (steps > 0 && !this.stopScrolling) { - steps--; + let wait = timeout/100; + while (wait > 0 && !this.stopScrolling) { + wait--; await sleep(100); } resolve(); @@ -421,7 +421,7 @@ class TextPage extends Vue { const page = this.$refs.scrollingPage; let i = 0; while (!this.stopScrolling) { - page.style.transition = 'all 2s linear 0s'; + page.style.transition = `${this.scrollingDelay}ms ${this.scrollingType}`; page.style.transform = `translateY(-${this.lineHeight}px)`; if (i > 0) { @@ -431,14 +431,12 @@ class TextPage extends Vue { this.stopScrolling = true; } } - await transitionFinish(2500); + await transitionFinish(this.scrollingDelay + 201); page.style.transition = ''; page.style.transform = 'none'; page.offsetHeight; i++; } - page.style.transition = ''; - page.style.transform = 'none'; this.resolveTransitionFinish = null; this.doingScrolling = false; } diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js index 20db0f86..f15363f8 100644 --- a/client/store/modules/reader.js +++ b/client/store/modules/reader.js @@ -148,6 +148,9 @@ const settingDefaults = { statusBarHeight: 19,// px statusBarColorAlpha: 0.4, + scrollingDelay: 3000,// замедление, ms + scrollingType: 'ease-in-out', //linear, ease, ease-in, ease-out, ease-in-out + pageChangeTransition: '',// '' - нет, downShift, rightShift, thaw - протаивание, blink - мерцание pageChangeTransitionSpeed: 50, //0-100%