PageSourceSearch

https://www.thebluegate.com/assets/js/bs-init.js

js thebluegate.com collected 2026-10-02 11:05:10 UTC 2,036 bytes, 93 lines download raw bytes

1
2if (window.innerWidth < 768) {
3	[].slice.call(document.querySelectorAll('[data-bss-disabled-mobile]')).forEach(function (elem) {
4		elem.classList.remove('animated');
5		elem.removeAttribute('data-bss-hover-animate');
6		elem.removeAttribute('data-aos');
7		elem.removeAttribute('data-bss-parallax-bg');
8		elem.removeAttribute('data-bss-scroll-zoom');
9	});
10}
11
12document.addEventListener('DOMContentLoaded', function() {
13	if ('AOS' in window) {
14		AOS.init();
15	}
16
17(function(){
18
19	if (!('requestAnimationFrame' in window)) return;
20
21	var backgrounds = [];
22	var parallaxBackgrounds = document.querySelectorAll('[data-bss-parallax-bg]');
23
24	for (var el of parallaxBackgrounds) {
25		var bg = document.createElement('div');
26
27		bg.style.backgroundImage = el.style.backgroundImage;
28		bg.style.backgroundSize = 'cover';
29		bg.style.backgroundPosition = 'center';
30		bg.style.position = 'absolute';
31		bg.style.height = '200%';
32		bg.style.width = '100%';
33		bg.style.top = 0;
34		bg.style.left = 0;
35		bg.style.zIndex = -100;
36
37		el.appendChild(bg);
38		backgrounds.push(bg);
39
40		el.style.position = 'relative';
41		el.style.background = 'transparent';
42		el.style.overflow = 'hidden';
43	}
44
45	if (!backgrounds.length) return;
46
47	var visible = [];
48	var scheduled;
49
50	window.addEventListener('scroll', scroll);
51	window.addEventListener('resize', scroll);
52
53	scroll();
54
55	function scroll() {
56
57		visible.length = 0;
58
59		for(var i = 0; i < backgrounds.length; i++){
60			var rect = backgrounds[i].parentNode.getBoundingClientRect();
61
62			if (rect.bottom > 0 && rect.top < window.innerHeight) {
63				visible.push({
64					rect: rect,
65					node: backgrounds[i]
66				});
67			}
68
69		}
70
71		cancelAnimationFrame(scheduled);
72
73		if (visible.length) {
74			scheduled = requestAnimationFrame(update);
75		}
76
77	}
78
79	function update(){
80
81		for(var i = 0; i < visible.length; i++){
82			var rect = visible[i].rect;
83			var node = visible[i].node;
84
85			var quot = Math.max(rect.bottom, 0) / (window.innerHeight + rect.height);
86
87			node.style.transform = 'translate3d(0, '+(-50*quot)+'%, 0)';
88		}
89
90	}
91
92})();
93}, false);

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.