PageSourceSearch

https://www.vegansociety.com/sites/default/themes/the_vegan_societ…/sticky-pagination-fixer.js?tm7y9q

js vegansociety.com collected 2026-10-01 08:45:53 UTC 1,772 bytes, 91 lines download raw bytes

1
2var stickyItem = 'sticky-header';	// the ID of the fixed-position element
3var readAssistOffset = 50;			// screen height - this offset value = scroll distance
4var duration = 250;					// scroll speed in ms
5var doc = document.documentElement;
6
7keydown = function (e) {
8
9	var curElement = document.activeElement.nodeName;
10
11	if ((e.keyCode === 32 && curElement === "BODY") || (e.keyCode === 33 || e.keyCode === 34)) {
12
13		var viewportHeight = window.innerHeight;
14		var stickyHeaderHeight = document.getElementById(stickyItem).offsetHeight;
15		var newViewportHeight = viewportHeight - stickyHeaderHeight - readAssistOffset;
16	
17		e.preventDefault();
18		
19		if(e) {
20		
21			isShift = e.shiftKey || e.keyCode === 33 ? true : false;
22		
23		} else {
24			
25			isShift = window.event.shiftKey || e.keyCode === 33 ? true : false;
26			
27		};
28	
29		currScrollPosition = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
30	
31		scrollToHere = newViewportHeight + currScrollPosition;
32	
33		if (isShift) {
34		
35			scrollToHere = currScrollPosition - newViewportHeight;
36		
37		}
38	
39		smoothScrollTo(scrollToHere)
40	
41	}
42
43}
44
45window.smoothScrollTo = (function () {
46
47	var timer, start, factor;
48
49	return function (target) {
50
51		var offset = window.pageYOffset,
52			delta = target - window.pageYOffset;
53		
54		start = Date.now();
55
56		factor = 0;
57	
58		if( timer ) {
59
60			clearInterval(timer);
61
62		}
63	
64		function step() {
65
66			var y;
67
68			factor = (Date.now() - start) / duration;
69
70			if( factor >= 1 ) {
71
72				clearInterval(timer);
73				factor = 1;
74
75			} 
76
77			y = factor * delta + offset;
78
79			window.scrollBy(0, y - window.pageYOffset);
80
81		}
82	
83		timer = setInterval(step, 10);
84
85		return timer;
86
87	};
88
89}());
90
91window.onkeydown = keydown;

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.