PageSourceSearch

https://www.jiann-life.com/assets/frontend/javascript/plugins/twentyTwenty.js

js jiann-life.com collected 2026-10-08 16:30:02 UTC 3,475 bytes, 74 lines download raw bytes

1!(function (t) {
2    t.fn.twentytwenty = function (e) {
3        var e = t.extend({ default_offset_pct: 0.5, orientation: "horizontal" }, e);
4        return this.each(function () {
5            var n = e.default_offset_pct,
6                i = t(this),
7                a = e.orientation,
8                s = "vertical" === a ? "down" : "left",
9                d = "vertical" === a ? "up" : "right";
10            i.wrap("<div class='twentytwenty-wrapper twentytwenty-" + a + "'></div>"),
11                i.append("<div class='twentytwenty-overlay'></div>");
12            var r = i.find("img:first"),
13                w = i.find("img:last");
14            i.append("<div class='twentytwenty-handle'></div>");
15            var c = i.find(".twentytwenty-handle");
16            c.append("<span class='twentytwenty-" + s + "-arrow'></span>"),
17                c.append("<span class='twentytwenty-" + d + "-arrow'></span>"),
18                i.addClass("twentytwenty-container"),
19                r.addClass("twentytwenty-before"),
20                w.addClass("twentytwenty-after");
21            var o = i.find(".twentytwenty-overlay");
22            o.append("<div class='twentytwenty-before-label'></div>"),
23                o.append("<div class='twentytwenty-after-label'></div>");
24            var f = function (t) {
25                    var e = r.width(),
26                        n = r.height();
27                    return { w: e + "px", h: n + "px", cw: t * e + "px", ch: t * n + "px" };
28                },
29                l = function (t) {
30                    "vertical" === a
31                        ? r.css("clip", "rect(0," + t.w + "," + t.ch + ",0)")
32                        : r.css("clip", "rect(0," + t.cw + "," + t.h + ",0)"),
33                        i.css("height", t.h);
34                },
35                v = function (t) {
36                    var e = f(t);
37                    c.css("vertical" === a ? "top" : "left", "vertical" === a ? e.ch : e.cw), l(e);
38                };
39            t(window).on("resize.twentytwenty", function (t) {
40                v(n);
41            });
42            var p = 0,
43                y = 0;
44            c.on("movestart", function (t) {
45                ((t.distX > t.distY && t.distX < -t.distY) || (t.distX < t.distY && t.distX > -t.distY)) &&
46                "vertical" !== a
47                    ? t.preventDefault()
48                    : ((t.distX < t.distY && t.distX < -t.distY) || (t.distX > t.distY && t.distX > -t.distY)) &&
49                      "vertical" === a &&
50                      t.preventDefault(),
51                    i.addClass("active"),
52                    (p = i.offset().left),
53                    (offsetY = i.offset().top),
54                    (y = r.width()),
55                    (imgHeight = r.height());
56            }),
57                c.on("moveend", function (t) {
58                    i.removeClass("active");
59                }),
60                c.on("move", function (t) {
61                    i.hasClass("active") &&
62                        ((n = "vertical" === a ? (t.pageY - offsetY) / imgHeight : (t.pageX - p) / y),
63                        0 > n && (n = 0),
64                        n > 1 && (n = 1),
65                        v(n));
66                }),
67                i.find("img").on("mousedown", function (t) {
68                    t.preventDefault();
69                }),
70                t(window).trigger("resize.twentytwenty");
71        });
72    };
73})(jQuery);
74//# sourceMappingURL=./jquery.twentytwenty.min.js.map

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.