summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-05-19 08:07:23 +0300
committerAndrew Dolgov <[email protected]>2020-05-19 08:07:23 +0300
commit2deb9c555e31ec36b430f69a1ff673d648b8cf4a (patch)
tree040d041e1df4fbef1aa0ca09c1e68d93fbbb3602 /js
parent8dc6b48ebd73b865c18e261a28f0e97ad304a39b (diff)
Headlines.move: use requestAnimationFrame in CDM :(
Diffstat (limited to 'js')
-rwxr-xr-xjs/Headlines.js32
1 files changed, 17 insertions, 15 deletions
diff --git a/js/Headlines.js b/js/Headlines.js
index ba0f565da..d8abf74ea 100755
--- a/js/Headlines.js
+++ b/js/Headlines.js
@@ -832,8 +832,10 @@ define(["dojo/_base/declare"], function (declare) {
if (mode === "next") {
if (next_id) {
if (App.isCombinedMode()) {
- Article.setActive(next_id);
- Article.cdmMoveToId(next_id, {event: event, noscroll: noscroll});
+ window.requestAnimationFrame(() => {
+ Article.setActive(next_id);
+ Article.cdmMoveToId(next_id, {event: event, noscroll: noscroll});
+ });
} else {
Article.view(next_id, noexpand);
}
@@ -841,19 +843,19 @@ define(["dojo/_base/declare"], function (declare) {
} else if (mode === "prev") {
if (prev_id || current_id) {
if (App.isCombinedMode()) {
-
- const row = $("RROW-" + current_id);
- const ctr = $("headlines-frame");
- const delta_px = Math.max(row.offsetTop, ctr.scrollTop) - Math.min(row.offsetTop, ctr.scrollTop);
-
- if (row && delta_px > 16) {
- Article.setActive(current_id);
- Article.cdmMoveToId(current_id, {force: noscroll, event: event});
- } else if (prev_id) {
- Article.setActive(prev_id);
- Article.cdmMoveToId(prev_id, {force: noscroll, event: event, noscroll: noscroll});
- }
-
+ window.requestAnimationFrame(() => {
+ const row = $("RROW-" + current_id);
+ const ctr = $("headlines-frame");
+ const delta_px = Math.max(row.offsetTop, ctr.scrollTop) - Math.min(row.offsetTop, ctr.scrollTop);
+
+ if (row && delta_px > 16) {
+ Article.setActive(current_id);
+ Article.cdmMoveToId(current_id, {force: noscroll, event: event});
+ } else if (prev_id) {
+ Article.setActive(prev_id);
+ Article.cdmMoveToId(prev_id, {force: noscroll, event: event, noscroll: noscroll});
+ }
+ });
} else if (prev_id) {
Article.view(prev_id, noexpand);
}