PageSourceSearch

https://www.chuto.com.tw/assets/frontend/javascript/plugins/wow.min.js

js chuto.com.tw collected 2026-10-08 10:44:39 UTC 10,260 bytes, 171 lines download raw bytes

vendor: 7,633 bytes, lines 1-124
1/*! WOW - v1.0.2 - 2014-10-28
2 * Copyright (c) 2014 Matthieu Aussaguel; Licensed MIT */
3(function () {
4    "use strict";
5    var a, b, c, d, e, f = function (a, b) {
6        return function () {
7            return a.apply(b, arguments)
8        }
9    }, g = [].indexOf || function (a) {
10            for (var b = 0, c = this.length; c > b; b++)if (b in this && this[b] === a)return b;
11            return -1
12        };
13    b = function () {
14        function a() {
15        }
16
17        return a.prototype.extend = function (a, b) {
18            var c, d;
19            for (c in b)d = b[c], null == a[c] && (a[c] = d);
20            return a
21        }, a.prototype.isMobile = function (a) {
22            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)
23        }, a.prototype.addEvent = function (a, b, c) {
24            return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c
25        }, a.prototype.removeEvent = function (a, b, c) {
26            return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b]
27        }, a.prototype.innerHeight = function () {
28            return "innerHeight"in window ? window.innerHeight : document.documentElement.clientHeight
29        }, a
30    }(), c = this.WeakMap || this.MozWeakMap || (c = function () {
31            function a() {
32                this.keys = [], this.values = []
33            }
34
35            return a.prototype.get = function (a) {
36                var b, c, d, e, f;
37                for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d)if (c = f[b], c === a)return this.values[b]
38            }, a.prototype.set = function (a, b) {
39                var c, d, e, f, g;
40                for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e)if (d = g[c], d === a)return void(this.values[c] = b);
41                return this.keys.push(a), this.values.push(b)
42            }, a
43        }()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function () {
44            function a() {
45                "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")
46            }
47
48            return a.notSupported = !0, a.prototype.observe = function () {
49            }, a
50        }()), d = this.getComputedStyle || function (a) {
51            return this.getPropertyValue = function (b) {
52                var c;
53                return "float" === b && (b = "styleFloat"), e.test(b) && b.replace(e, function (a, b) {
54                    return b.toUpperCase()
55                }), (null != (c = a.currentStyle) ? c[b] : void 0) || null
56            }, this
57        }, e = /(\-([a-z]){1})/g, this.WOW = function () {
58        function e(a) {
59            null == a && (a = {}), this.scrollCallback = f(this.scrollCallback, this), this.scrollHandler = f(this.scrollHandler, this), this.start = f(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), this.animationNameCache = new c
60        }
61
62        return e.prototype.defaults = {
63            boxClass: "wow",
64            animateClass: "animated",
65            offset: 0,
66            mobile: !0,
67            live: !0
68        }, e.prototype.init = function () {
69            var a;
70            return this.element = window.document.documentElement, "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = []
71        }, e.prototype.start = function () {
72            var b, c, d, e;
73            if (this.stopped = !1, this.boxes = function () {
74                    var a, c, d, e;
75                    for (d = this.element.querySelectorAll("." + this.config.boxClass), e = [], a = 0, c = d.length; c > a; a++)b = d[a], e.push(b);
76                    return e
77                }.call(this), this.all = function () {
78                    var a, c, d, e;
79                    for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++)b = d[a], e.push(b);
80                    return e
81                }.call(this), this.boxes.length)if (this.disabled())this.resetStyle(); else for (e = this.boxes, c = 0, d = e.length; d > c; c++)b = e[c], this.applyStyle(b, !0);
82            return this.disabled() || (this.util().addEvent(window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live ? new a(function (a) {
83                return function (b) {
84                    var c, d, e, f, g;
85                    for (g = [], e = 0, f = b.length; f > e; e++)d = b[e], g.push(function () {
86                        var a, b, e, f;
87                        for (e = d.addedNodes || [], f = [], a = 0, b = e.length; b > a; a++)c = e[a], f.push(this.doSync(c));
88                        return f
89                    }.call(a));
90                    return g
91                }
92            }(this)).observe(document.body, {childList: !0, subtree: !0}) : void 0
93        }, e.prototype.stop = function () {
94            return this.stopped = !0, this.util().removeEvent(window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval ? clearInterval(this.interval) : void 0
95        }, e.prototype.sync = function () {
96            return a.notSupported ? this.doSync(this.element) : void 0
97        }, e.prototype.doSync = function (a) {
98            var b, c, d, e, f;
99            if (null == a && (a = this.element), 1 === a.nodeType) {
100                for (a = a.parentNode || a, e = a.querySelectorAll("." + this.config.boxClass), f = [], c = 0, d = e.length; d > c; c++)b = e[c], g.call(this.all, b) < 0 ? (this.boxes.push(b), this.all.push(b), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0), f.push(this.scrolled = !0)) : f.push(void 0);
101                return f
102            }
103        }, e.prototype.show = function (a) {
104            return this.applyStyle(a), a.className = "" + a.className + " " + this.config.animateClass
105        }, e.prototype.applyStyle = function (a, b) {
106            var c, d, e;
107            return d = a.getAttribute("data-wow-duration"), c = a.getAttribute("data-wow-delay"), e = a.getAttribute("data-wow-iteration"), this.animate(function (f) {
108                return function () {
109                    return f.customStyle(a, b, d, c, e)
110                }
111            }(this))
112        }, e.prototype.animate = function () {
113            return "requestAnimationFrame"in window ? function (a) {
114                return window.requestAnimationFrame(a)
115            } : function (a) {
116                return a()
117            }
118        }(), e.prototype.resetStyle = function () {
119            var a, b, c, d, e;
120            for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)a = d[b], e.push(a.style.visibility = "visible");
121            return e
122        }, e.prototype.customStyle = function (a, b, c, d, e) {
123            return b && this.cacheAnimationName(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorSet(a.style, {animationDuration: c}), d && this.vendorSet(a.style, {animationDelay: d}), e && this.vendorSet(a.style, {animationIterationCount: e}), this.vendorSet(a.style, {animationName: b ? "none" : this.cachedAnimationName(a)}), a
124        }
vendor: 2,627 bytes, lines 124-171
124, e.prototype.vendors = ["moz", "webkit"], e.prototype.vendorSet = function (a, b) {
125            var c, d, e, f;
126            f = [];
127            for (c in b)d = b[c], a["" + c] = d, f.push(function () {
128                var b, f, g, h;
129                for (g = this.vendors, h = [], b = 0, f = g.length; f > b; b++)e = g[b], h.push(a["" + e + c.charAt(0).toUpperCase() + c.substr(1)] = d);
130                return h
131            }.call(this));
132            return f
133        }, e.prototype.vendorCSS = function (a, b) {
134            var c, e, f, g, h, i;
135            for (e = d(a), c = e.getPropertyCSSValue(b), i = this.vendors, g = 0, h = i.length; h > g; g++)f = i[g], c = c || e.getPropertyCSSValue("-" + f + "-" + b);
136            return c
137        }, e.prototype.animationName = function (a) {
138            var b;
139            try {
140                b = this.vendorCSS(a, "animation-name").cssText
141            } catch (c) {
142                b = d(a).getPropertyValue("animation-name")
143            }
144            return "none" === b ? "" : b
145        }, e.prototype.cacheAnimationName = function (a) {
146            return this.animationNameCache.set(a, this.animationName(a))
147        }, e.prototype.cachedAnimationName = function (a) {
148            return this.animationNameCache.get(a)
149        }, e.prototype.scrollHandler = function () {
150            return this.scrolled = !0
151        }, e.prototype.scrollCallback = function () {
152            var a;
153            return !this.scrolled || (this.scrolled = !1, this.boxes = function () {
154                var b, c, d, e;
155                for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)a = d[b], a && (this.isVisible(a) ? this.show(a) : e.push(a));
156                return e
157            }.call(this), this.boxes.length || this.config.live) ? void 0 : this.stop()
158        }, e.prototype.offsetTop = function (a) {
159            for (var b; void 0 === a.offsetTop;)a = a.parentNode;
160            for (b = a.offsetTop; a = a.offsetParent;)b += a.offsetTop;
161            return b
162        }, e.prototype.isVisible = function (a) {
163            var b, c, d, e, f;
164            return c = a.getAttribute("data-wow-offset") || this.config.offset, f = window.pageYOffset, e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(a), b = d + a.clientHeight, e >= d && b >= f
165        }, e.prototype.util = function () {
166            return null != this._util ? this._util : this._util = new b
167        }, e.prototype.disabled = function () {
168            return !this.config.mobile && this.util().isMobile(navigator.userAgent)
169        }, e
170    }()
171}).call(this);

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.