fix for toc events
[wolnelektury.git] / src / wolnelektury / static / js / book_text / progress.js
1 (function($){$(function(){
2
3     let t = $('#global-progress').data('t');
4
5     function upd_t() {
6         $text = $('#main-text #book-text');
7         texttop = $text.offset().top;
8
9         $footnotes = $('#footnotes', $text);
10         if ($footnotes.length) {
11             textbottom = $footnotes.offset().top;
12         } else {
13             textbottom = texttop + $text.height();
14         }
15
16         textlen = textbottom - texttop;
17         progress = (window.scrollY - texttop) / textlen;
18         progress = Math.max(0, Math.min(progress, 1))
19
20         $('#global-progress .filled').css('right', (1 - progress) * 100 + '%');
21         tleft = Math.round((1 - progress) * t / 60);
22         tt = '';
23         if (tleft > 60) {
24             h = Math.floor(tleft / 60);
25             tt = h + ' h ';
26             tleft -= h * 60;
27         }
28         tt += tleft + ' min';
29         $('#global-progress .progress-text-value').text(tt);
30     }
31     upd_t();
32     $(window).scroll(upd_t);
33 })})(jQuery);