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%