PageSourceSearch

https://www.cinzelindia.com/js/smoothscroll.js

js cinzelindia.com collected 2026-10-07 14:02:37 UTC 10,883 bytes, 314 lines download raw bytes

1//Smmoth Scroll
2! function () {
3   function e() {
4      z.keyboardSupport && m("keydown", a)
5   }
6
7   function t() {
8      if (!A && document.body) {
9         A = !0;
10         var t = document.body,
11            o = document.documentElement,
12            n = window.innerHeight,
13            r = t.scrollHeight;
14         if (B = document.compatMode.indexOf("CSS") >= 0 ? o : t, D = t, e(), top != self) X = !0;
15         else if (r > n && (t.offsetHeight <= n || o.offsetHeight <= n)) {
16            var a = document.createElement("div");
17            a.style.cssText = "position:absolute; z-index:-10000; top:0; left:0; right:0; height:" + B.scrollHeight + "px", document.body.appendChild(a);
18            var i;
19            T = function () {
20               i || (i = setTimeout(function () {
21                  L || (a.style.height = "0", a.style.height = B.scrollHeight + "px", i = null)
22               }, 500))
23            }, setTimeout(T, 10), m("resize", T);
24            var l = {
25               attributes: !0,
26               childList: !0,
27               characterData: !1
28            };
29            if (M = new W(T), M.observe(t, l), B.offsetHeight <= n) {
30               var c = document.createElement("div");
31               c.style.clear = "both", t.appendChild(c)
32            }
33         }
34         z.fixedBackground || L || (t.style.backgroundAttachment = "scroll", o.style.backgroundAttachment = "scroll")
35      }
36   }
37
38   function o() {
39      M && M.disconnect(), w(_, r), w("mousedown", i), w("keydown", a), w("resize", T), w("load", t)
40   }
41
42   function n(e, t, o) {
43      if (p(t, o), 1 != z.accelerationMax) {
44         var n = Date.now(),
45            r = n - j;
46         if (r < z.accelerationDelta) {
47            var a = (1 + 50 / r) / 2;
48            a > 1 && (a = Math.min(a, z.accelerationMax), t *= a, o *= a)
49         }
50         j = Date.now()
51      }
52      if (q.push({
53            x: t,
54            y: o,
55            lastX: 0 > t ? .99 : -.99,
56            lastY: 0 > o ? .99 : -.99,
57            start: Date.now()
58         }), !P) {
59         var i = e === document.body,
60            l = function (n) {
61               for (var r = Date.now(), a = 0, c = 0, u = 0; u < q.length; u++) {
62                  var d = q[u],
63                     s = r - d.start,
64                     f = s >= z.animationTime,
65                     m = f ? 1 : s / z.animationTime;
66                  z.pulseAlgorithm && (m = x(m));
67                  var w = d.x * m - d.lastX >> 0,
68                     h = d.y * m - d.lastY >> 0;
69                  a += w, c += h, d.lastX += w, d.lastY += h, f && (q.splice(u, 1), u--)
70               }
71               i ? window.scrollBy(a, c) : (a && (e.scrollLeft += a), c && (e.scrollTop += c)), t || o || (q = []), q.length ? V(l, e, 1e3 / z.frameRate + 1) : P = !1
72            };
73         V(l, e, 0), P = !0
74      }
75   }
76
77   function r(e) {
78      A || t();
79      var o = e.target,
80         r = u(o);
81      if (!r || e.defaultPrevented || e.ctrlKey) return !0;
82      if (h(D, "embed") || h(o, "embed") && /\.pdf/i.test(o.src) || h(D, "object") || o.shadowRoot) return !0;
83      var a = -e.wheelDeltaX || e.deltaX || 0,
84         i = -e.wheelDeltaY || e.deltaY || 0;
85      return O && (e.wheelDeltaX && b(e.wheelDeltaX, 120) && (a = -120 * (e.wheelDeltaX / Math.abs(e.wheelDeltaX))), e.wheelDeltaY && b(e.wheelDeltaY, 120) && (i = -120 * (e.wheelDeltaY / Math.abs(e.wheelDeltaY)))), a || i || (i = -e.wheelDelta || 0), 1 === e.deltaMode && (a *= 40, i *= 40), !z.touchpadSupport && v(i) ? !0 : (Math.abs(a) > 1.2 && (a *= z.stepSize / 120), Math.abs(i) > 1.2 && (i *= z.stepSize / 120), n(r, a, i), e.preventDefault(), void l())
86   }
87
88   function a(e) {
89      var t = e.target,
90         o = e.ctrlKey || e.altKey || e.metaKey || e.shiftKey && e.keyCode !== K.spacebar;
91      document.body.contains(D) || (D = document.activeElement);
92      var r = /^(textarea|select|embed|object)$/i,
93         a = /^(button|submit|radio|checkbox|file|color|image)$/i;
94      if (e.defaultPrevented || r.test(t.nodeName) || h(t, "input") && !a.test(t.type) || h(D, "video") || g(e) || t.isContentEditable || o) return !0;
95      if ((h(t, "button") || h(t, "input") && a.test(t.type)) && e.keyCode === K.spacebar) return !0;
96      if (h(t, "input") && "radio" == t.type && R[e.keyCode]) return !0;
97      var i, c = 0,
98         d = 0,
99         s = u(D),
100         f = s.clientHeight;
101      switch (s == document.body && (f = window.innerHeight), e.keyCode) {
102         case K.up:
103            d = -z.arrowScroll;
104            break;
105         case K.down:
106            d = z.arrowScroll;
107            break;
108         case K.spacebar:
109            i = e.shiftKey ? 1 : -1, d = -i * f * .9;
110            break;
111         case K.pageup:
112            d = .9 * -f;
113            break;
114         case K.pagedown:
115            d = .9 * f;
116            break;
117         case K.home:
118            d = -s.scrollTop;
119            break;
120         case K.end:
121            var m = s.scrollHeight - s.scrollTop - f;
122            d = m > 0 ? m + 10 : 0;
123            break;
124         case K.left:
125            c = -z.arrowScroll;
126            break;
127         case K.right:
128            c = z.arrowScroll;
129            break;
130         default:
131            return !0
132      }
133      n(s, c, d), e.preventDefault(), l()
134   }
135
136   function i(e) {
137      D = e.target
138   }
139
140   function l() {
141      clearTimeout(E), E = setInterval(function () {
142         I = {}
143      }, 1e3)
144   }
145
146   function c(e, t) {
147      for (var o = e.length; o--;) I[F(e[o])] = t;
148      return t
149   }
150
151   function u(e) {
152      var t = [],
153         o = document.body,
154         n = B.scrollHeight;
155      do {
156         var r = I[F(e)];
157         if (r) return c(t, r);
158         if (t.push(e), n === e.scrollHeight) {
159            var a = s(B) && s(o),
160               i = a || f(B);
161            if (X && d(B) || !X && i) return c(t, $())
162         } else if (d(e) && f(e)) return c(t, e)
163      } while (e = e.parentElement)
164   }
165
166   function d(e) {
167      return e.clientHeight + 10 < e.scrollHeight
168   }
169
170   function s(e) {
171      var t = getComputedStyle(e, "").getPropertyValue("overflow-y");
172      return "hidden" !== t
173   }
174
175   function f(e) {
176      var t = getComputedStyle(e, "").getPropertyValue("overflow-y");
177      return "scroll" === t || "auto" === t
178   }
179
180   function m(e, t) {
181      window.addEventListener(e, t, { passive: false })
182   }
183
184   function w(e, t) {
185      window.removeEventListener(e, t, { passive: false })
186   }
187
188   function h(e, t) {
189      return (e.nodeName || "").toLowerCase() === t.toLowerCase()
190   }
191
192   function p(e, t) {
193      e = e > 0 ? 1 : -1, t = t > 0 ? 1 : -1, (Y.x !== e || Y.y !== t) && (Y.x = e, Y.y = t, q = [], j = 0)
194   }
195
196   function v(e) {
197      return e ? (N.length || (N = [e, e, e]), e = Math.abs(e), N.push(e), N.shift(), clearTimeout(C), C = setTimeout(function () {
198         window.localStorage && (localStorage.SS_deltaBuffer = N.join(","))
199      }, 1e3), !y(120) && !y(100)) : void 0
200   }
201
202   function b(e, t) {
203      return Math.floor(e / t) == e / t
204   }
205
206   function y(e) {
207      return b(N[0], e) && b(N[1], e) && b(N[2], e)
208   }
209
210   function g(e) {
211      var t = e.target,
212         o = !1;
213      if (-1 != document.URL.indexOf("www.youtube.com/watch"))
214         do
215            if (o = t.classList && t.classList.contains("html5-video-controls")) break; while (t = t.parentNode);
216      return o
217   }
218
219   function S(e) {
220      var t, o, n;
221      return e *= z.pulseScale, 1 > e ? t = e - (1 - Math.exp(-e)) : (o = Math.exp(-1), e -= 1, n = 1 - Math.exp(-e), t = o + n * (1 - o)), t * z.pulseNormalize
222   }
223
224   function x(e) {
225      return e >= 1 ? 1 : 0 >= e ? 0 : (1 == z.pulseNormalize && (z.pulseNormalize /= S(1)), S(e))
226   }
227
228   function k(e) {
229      for (var t in e) H.hasOwnProperty(t) && (z[t] = e[t])
230   }
231   var D, M, T, E, C, H = {
232         frameRate: 150,
233         animationTime: 400,
234         stepSize: 100,
235         pulseAlgorithm: !0,
236         pulseScale: 4,
237         pulseNormalize: 1,
238         accelerationDelta: 50,
239         accelerationMax: 3,
240         keyboardSupport: !0,
241         arrowScroll: 50,
242         touchpadSupport: !1,
243         fixedBackground: !0,
244         excluded: ""
245      },
246      z = H,
247      L = !1,
248      X = !1,
249      Y = {
250         x: 0,
251         y: 0
252      },
253      A = !1,
254      B = document.documentElement,
255      N = [],
256      O = /^Mac/.test(navigator.platform),
257      K = {
258         left: 37,
259         up: 38,
260         right: 39,
261         down: 40,
262         spacebar: 32,
263         pageup: 33,
264         pagedown: 34,
265         end: 35,
266         home: 36
267      },
268      R = {
269         37: 1,
270         38: 1,
271         39: 1,
272         40: 1
273      },
274      q = [],
275      P = !1,
276      j = Date.now(),
277      F = function () {
278         var e = 0;
279         return function (t) {
280            return t.uniqueID || (t.uniqueID = e++)
281         }
282      }(),
283      I = {};
284   window.localStorage && localStorage.SS_deltaBuffer && (N = localStorage.SS_deltaBuffer.split(","));
285   var _, V = function () {
286         return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (e, t, o) {
287            window.setTimeout(e, o || 1e3 / 60)
288         }
289      }(),
290      W = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
291      $ = function () {
292         var e;
293         return function () {
294            if (!e) {
295               var t = document.createElement("div");
296               t.style.cssText = "height:10000px;width:1px;", document.body.appendChild(t);
297               var o = document.body.scrollTop;
298               document.documentElement.scrollTop;
299               window.scrollBy(0, 3), e = document.body.scrollTop != o ? document.body : document.documentElement, window.scrollBy(0, -3), document.body.removeChild(t)
300            }
301            return e
302         }
303      }(),
304      U = window.navigator.userAgent,
305      G = /Edge/.test(U),
306      J = /chrome/i.test(U) && !G,
307      Q = /safari/i.test(U) && !G,
308      Z = /mobile/i.test(U),
309      ee = /Windows NT 6.1/i.test(U) && /rv:11/i.test(U),
310      te = (J || Q || ee) && !Z;
311   "onwheel" in document.createElement("div") ? _ = "wheel" : "onmousewheel" in document.createElement("div") && (_ = "mousewheel"), _ && te && (m(_, r), m("mousedown", i), m("load", t)), k.destroy = o, window.SmoothScrollOptions && k(window.SmoothScrollOptions), "function" == typeof define && define.amd ? define(function () {
312      return k
313   }) : "object" == typeof exports ? module.exports = k : window.SmoothScroll = k
314}();

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.