PageSourceSearch

https://www.keywordseo.com.tw/wp-content/plugins/xpro-elementor-ad…/js/ripples-effect.js?ver=1.7.8

js keywordseo.com.tw collected 2026-10-01 11:44:09 UTC 3,478 bytes, 60 lines download raw bytes

1!(function (e) {
2    "use strict";
3    e(window).on("elementor/frontend/init", function () {
4        if ("undefined" != typeof elementorModules) {
5            var t = elementorModules.frontend.handlers.Base.extend({
6                    dropInterval: null,
7                    bindEvents: function () {
8                        this.run();
9                    },
10                    getFxVal: function (e) {
11                        return this.getElementSettings(e);
12                    },
13                    destroyRipples: function (e) {
14                        this.dropInterval && (clearInterval(this.dropInterval), (this.dropInterval = null));
15                        try {
16                            e.data("ripples") && e.ripples("destroy");
17                        } catch (e) {}
18                    },
19                    run: function () {
20                        var t = this.$element;
21                        if (
22                            (this.destroyRipples(t),
23                            t.hasClass("xpro-ripples-effect-enabled") && void 0 !== e.fn.ripples)
24                        ) {
25                            var r = this.getFxVal("xpro_ripples_resolution.size") || 256,
26                                n = this.getFxVal("xpro_ripples_drop_radius.size") || 20,
27                                o = this.getFxVal("xpro_ripples_perturbance.size") || 0.03,
28                                i = "yes" === this.getFxVal("xpro_ripples_interactive"),
29                                s = "yes" === this.getFxVal("xpro_ripples_auto_drops"),
30                                a = this.getFxVal("xpro_ripples_auto_drops_interval") || 1e3;
31                            try {
32                                t.ripples({ resolution: r, dropRadius: n, perturbance: o, interactive: i });
33                                var l = t.data("ripples");
34                                l && l.$canvas && l.$canvas.addClass("xpro-ripples-container"),
35                                    s &&
36                                        (this.dropInterval = setInterval(function () {
37                                            if (t.is(":visible") && t.data("ripples")) {
38                                                var e = Math.random() * t.outerWidth(),
39                                                    r = Math.random() * t.outerHeight(),
40                                                    n = 20 * Math.random() + 5,
41                                                    o = 0.03 + 0.05 * Math.random();
42                                                t.ripples("drop", e, r, n, o);
43                                            }
44                                        }, a));
45                            } catch (e) {
46                                console.error("Xpro Ripples Error:", e.message);
47                            }
48                        }
49                    },
50                }),
51                r = function (e) {
52                    elementorFrontend.elementsHandler.addHandler(t, { $element: e });
53                };
54            elementorFrontend.hooks.addAction("frontend/element_ready/widget", r),
55                elementorFrontend.hooks.addAction("frontend/element_ready/section", r),
56                elementorFrontend.hooks.addAction("frontend/element_ready/column", r),
57                elementorFrontend.hooks.addAction("frontend/element_ready/container", r);
58        }
59    });
60})(jQuery);

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.