PageSourceSearch

https://laphotoparty.com/wp-content/themes/custom-LAPP-new/assets/js/smoothscroll.js

js laphotoparty.com collected 2026-10-02 06:10:36 UTC 7,380 bytes, 306 lines download raw bytes

1// SmoothScroll v0.9.9
2// Licensed under the terms of the MIT license.
3
4// People involved
5// - Balazs Galambosi: maintainer (CHANGELOG.txt)
6// - Patrick Brunner ([email protected])
7// - Michael Herf: ssc_pulse Algorithm
8/*
9
10function ssc_init() {
11    if (!document.body) return;
12    var e = document.body;
13    var t = document.documentElement;
14    var n = window.innerHeight;
15    var r = e.scrollHeight;
16    ssc_root = document.compatMode.indexOf("CSS") >= 0 ? t : e;
17    ssc_activeElement = e;
18    ssc_initdone = true;
19    if (top != self) {
20        ssc_frame = true
21    } else if (r > n && (e.offsetHeight <= n || t.offsetHeight <= n)) {
22        ssc_root.style.height = "auto";
23        if (ssc_root.offsetHeight <= n) {
24            var i = document.createElement("div");
25            i.style.clear = "both";
26            e.appendChild(i)
27        }
28    }
29    if (!ssc_fixedback) {
30        e.style.backgroundAttachment = "scroll";
31        t.style.backgroundAttachment = "scroll"
32    }
33    if (ssc_keyboardsupport) {
34        ssc_addEvent("keydown", ssc_keydown)
35    }
36}
37
38function ssc_scrollArray(e, t, n, r) {
39    r || (r = 1e3);
40    ssc_directionCheck(t, n);
41    ssc_que.push({
42        x: t,
43        y: n,
44        lastX: t < 0 ? .99 : -.99,
45        lastY: n < 0 ? .99 : -.99,
46        start: +(new Date)
47    });
48    if (ssc_pending) {
49        return
50    }
51    var i = function () {
52        var s = +(new Date);
53        var o = 0;
54        var u = 0;
55        for (var a = 0; a < ssc_que.length; a++) {
56            var f = ssc_que[a];
57            var l = s - f.start;
58            var c = l >= ssc_animtime;
59            var h = c ? 1 : l / ssc_animtime;
60            if (ssc_pulseAlgorithm) {
61                h = ssc_pulse(h)
62            }
63            var p = f.x * h - f.lastX >> 0;
64            var d = f.y * h - f.lastY >> 0;
65            o += p;
66            u += d;
67            f.lastX += p;
68            f.lastY += d;
69            if (c) {
70                ssc_que.splice(a, 1);
71                a--
72            }
73        }
74        if (t) {
75            var v = e.scrollLeft;
76            e.scrollLeft += o;
77            if (o && e.scrollLeft === v) {
78                t = 0
79            }
80        }
81        if (n) {
82            var m = e.scrollTop;
83            e.scrollTop += u;
84            if (u && e.scrollTop === m) {
85                n = 0
86            }
87        }
88        if (!t && !n) {
89            ssc_que = []
90        }
91        if (ssc_que.length) {
92            setTimeout(i, r / ssc_framerate + 1)
93        } else {
94            ssc_pending = false
95        }
96    };
97    setTimeout(i, 0);
98    ssc_pending = true
99}
100
101function ssc_wheel(e) {
102    if (!ssc_initdone) {
103        ssc_init()
104    }
105    var t = e.target;
106    var n = ssc_overflowingAncestor(t);
107    if (!n || e.defaultPrevented || ssc_isNodeName(ssc_activeElement, "embed") || ssc_isNodeName(t, "embed") && /\.pdf/i.test(t.src)) {
108        return true
109    }
110    var r = e.wheelDeltaX || 0;
111    var i = e.wheelDeltaY || 0;
112    if (!r && !i) {
113        i = e.wheelDelta || 0
114    }
115    if (Math.abs(r) > 1.2) {
116        r *= ssc_stepsize / 120
117    }
118    if (Math.abs(i) > 1.2) {
119        i *= ssc_stepsize / 120
120    }
121    ssc_scrollArray(n, -r, -i);
122    e.preventDefault()
123}
124
125function ssc_keydown(e) {
126    var t = e.target;
127    var n = e.ctrlKey || e.altKey || e.metaKey;
128    if (/input|textarea|embed/i.test(t.nodeName) || t.isContentEditable || e.defaultPrevented || n) {
129        return true
130    }
131    if (ssc_isNodeName(t, "button") && e.keyCode === ssc_key.spacebar) {
132        return true
133    }
134    var r, i = 0,
135        s = 0;
136    var o = ssc_overflowingAncestor(ssc_activeElement);
137    var u = o.clientHeight;
138    if (o == document.body) {
139        u = window.innerHeight
140    }
141    switch (e.keyCode) {
142    case ssc_key.up:
143        s = -ssc_arrowscroll;
144        break;
145    case ssc_key.down:
146        s = ssc_arrowscroll;
147        break;
148    case ssc_key.spacebar:
149        r = e.shiftKey ? 1 : -1;
150        s = -r * u * .9;
151        break;
152    case ssc_key.pageup:
153        s = -u * .9;
154        break;
155    case ssc_key.pagedown:
156        s = u * .9;
157        break;
158    case ssc_key.home:
159        s = -o.scrollTop;
160        break;
161    case ssc_key.end:
162        var a = o.scrollHeight - o.scrollTop - u;
163        s = a > 0 ? a + 10 : 0;
164        break;
165    case ssc_key.left:
166        i = -ssc_arrowscroll;
167        break;
168    case ssc_key.right:
169        i = ssc_arrowscroll;
170        break;
171    default:
172        return true
173    }
174    ssc_scrollArray(o, i, s);
175    e.preventDefault()
176}
177
178function ssc_mousedown(e) {
179    ssc_activeElement = e.target
180}
181
182function ssc_setCache(e, t) {
183    for (var n = e.length; n--;) ssc_cache[ssc_uniqueID(e[n])] = t;
184    return t
185}
186
187function ssc_overflowingAncestor(e) {
188    var t = [];
189    var n = ssc_root.scrollHeight;
190    do {
191        var r = ssc_cache[ssc_uniqueID(e)];
192        if (r) {
193            return ssc_setCache(t, r)
194        }
195        t.push(e);
196        if (n === e.scrollHeight) {
197            if (!ssc_frame || ssc_root.clientHeight + 10 < n) {
198                return ssc_setCache(t, document.body)
199            }
200        } else if (e.clientHeight + 10 < e.scrollHeight) {
201            overflow = getComputedStyle(e, "").getPropertyValue("overflow");
202            if (overflow === "scroll" || overflow === "auto") {
203                return ssc_setCache(t, e)
204            }
205        }
206    } while (e = e.parentNode)
207}
208
209function ssc_addEvent(e, t, n) {
210    window.addEventListener(e, t, n || false)
211}
212
213function ssc_removeEvent(e, t, n) {
214    window.removeEventListener(e, t, n || false)
215}
216
217function ssc_isNodeName(e, t) {
218    return e.nodeName.toLowerCase() === t.toLowerCase()
219}
220
221function ssc_directionCheck(e, t) {
222    e = e > 0 ? 1 : -1;
223    t = t > 0 ? 1 : -1;
224    if (ssc_direction.x !== e || ssc_direction.y !== t) {
225        ssc_direction.x = e;
226        ssc_direction.y = t;
227        ssc_que = []
228    }
229}
230
231function ssc_pulse_(e) {
232    var t, n, r;
233    e = e * ssc_pulseScale;
234    if (e < 1) {
235        t = e - (1 - Math.exp(-e))
236    } else {
237        n = Math.exp(-1);
238        e -= 1;
239        r = 1 - Math.exp(-e);
240        t = n + r * (1 - n)
241    }
242    return t * ssc_pulseNormalize
243}
244
245function ssc_pulse(e) {
246    if (e >= 1) return 1;
247    if (e <= 0) return 0;
248    if (ssc_pulseNormalize == 1) {
249        ssc_pulseNormalize /= ssc_pulse_(1)
250    }
251    return ssc_pulse_(e)
252}
253
254var ssc_framerate = 150;
255var ssc_animtime = 500;
256var ssc_stepsize = 150;
257var ssc_pulseAlgorithm = true;
258var ssc_pulseScale = 6;
259var ssc_pulseNormalize = 1;
260var ssc_keyboardsupport = true;
261var ssc_arrowscroll = 50;
262var ssc_frame = false;
263var ssc_direction = {
264    x: 0,
265    y: 0
266};
267
268var ssc_initdone = false;
269var ssc_fixedback = true;
270var ssc_root = document.documentElement;
271var ssc_activeElement;
272var ssc_key = {
273    left: 37,
274    up: 38,
275    right: 39,
276    down: 40,
277    spacebar: 32,
278    pageup: 33,
279    pagedown: 34,
280    end: 35,
281    home: 36
282};
283
284var ssc_que = [];
285var ssc_pending = false;
286var ssc_cache = {};
287
288setInterval(function () {
289    ssc_cache = {}
290}, 10 * 1e3);
291
292var ssc_uniqueID = function () {
293    var e = 0;
294    return function (t) {
295        return t.ssc_uniqueID || (t.ssc_uniqueID = e++)
296    }
297}();
298
299var ischrome = /chrome/.test(navigator.userAgent.toLowerCase());
300
301if (ischrome) {
302    ssc_addEvent("mousedown", ssc_mousedown);
303    ssc_addEvent("mousewheel", ssc_wheel);
304    ssc_addEvent("load", ssc_init)
305}
306*/

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.