diff options
Diffstat (limited to 'p/scripts')
| -rw-r--r-- | p/scripts/main.js | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/p/scripts/main.js b/p/scripts/main.js index b3531e884..400abf947 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -449,26 +449,22 @@ function auto_share(key) { } } -function inMarkViewport(flux, box_to_follow) { - var bottom = flux.offset().top + flux.height(), - windowTop = box_to_follow.scrollTop(); - return bottom < windowTop + 40; -} - function init_posts() { - var box_to_follow = $(window); - if (context.current_view === 'global') { - box_to_follow = $("#panel"); - } + var box_to_follow = context.current_view === 'global' ? $("#panel") : $(window); if (context.auto_mark_scroll) { + var lastScroll = 0; //Throttle box_to_follow.scroll(function () { - $('.not_read:visible').each(function () { - var $this = $(this); - if (inMarkViewport($this, box_to_follow)) { - mark_read($this, true); - } - }); + if (lastScroll + 500 < Date.now()) { + lastScroll = Date.now(); + $('.not_read:visible').each(function () { + var $this = $(this), + minTop = (context.current_view === 'global') ? box_to_follow.offset().top : box_to_follow.scrollTop(); + if ($this.offset().top + $this.height() < minTop + 40) { + mark_read($this, true); + } + }); + } }); } |
