1$(document).ready(function () { 2 initArticle(); 3}); 4 5var initArticle = function () { 6 $('.article-grid').each(function () { 7 var hold = $(this); 8 9 var h2 = hold.find('.article-body').find('h2'); 10 var i = 1; 11 12 h2.each(function () { 13 var h = $(this); 14 h.attr('data-index', i); 15 var next = h.nextAll('h2'); 16 17 var line = hold.find('.article-nav').find('li:nth-child(' + i + ')').find('.line'); 18 19 var _scroll = function () { 20 var e; 21 var p = (($(window).scrollTop() - h.offset().top + $('.header').outerHeight() + 25) / (($(window).scrollTop() - h.offset().top + $('.header').outerHeight() + 25) - ($(window).scrollTop() - next.offset().top + $('.header').outerHeight() + 25))); 22 23 if (p <= 0) { 24 e = 0; 25 } else if (p > 0 && p < 1) { 26 e = p; 27 } else { 28 e = 1 29 } 30 31 if (p >= 1) { 32 line.closest('li').next('li').addClass('active'); 33 } else { 34 line.closest('li').next('li').removeClass('active'); 35 } 36 37 line.css({ 38 '--percent': e 39 }); 40 }; 41 42 _scroll(); 43 $(window).on('scroll resize', _scroll); 44 45 i++; 46 }); 47 48 }); 49};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.