Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | 169x 169x 169x 169x 1x 1x 1x 1x 169x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /*
	Slimbox v2.04 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2010 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
(function (w) {
var E = w(window), u, f, F = -1, n, x, D, v, y, L, r, m = !window.XMLHttpRequest, s = [], l = document.documentElement, k = {}, t = new Image(), J = new Image(), H, a, g, p, I, d, G, c, A, K;w(function () {
    w("body").append(w([H = w('<div id="lbOverlay" />')[0], a = w('<div id="lbCenter" />')[0], G = w('<div id="lbBottomContainer" />')[0]]).css("display", "none"));g = w('<div id="lbImage" />').appendTo(a).append(p = w('<div style="position: relative;" />').append([I = w('<a id="lbPrevLink" href="#" />').click(B)[0], d = w('<a id="lbNextLink" href="#" />').click(e)[0]])[0])[0];c = w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0], A = w('<div id="lbCaption" />')[0], K = w('<div id="lbNumber" />')[0], w('<div style="clear: both;" />')[0]])[0]
});w.slimbox = function (O, N, M) {
    u = w.extend({loop: false, overlayOpacity: 0.8, overlayFadeDuration: 400, resizeDuration: 400, resizeEasing: "swing", initialWidth: 250, initialHeight: 250, imageFadeDuration: 400, captionAnimationDuration: 400, counterText: "Image {x} of {y}", closeKeys: [27, 88, 67], previousKeys: [37, 80], nextKeys: [39, 78]}, M);Eif (typeof O == "string") {
        O = [[O, N]];N = 0
    }y = E.scrollTop() + (E.height() / 2);L = u.initialWidth;r = u.initialHeight;w(a).css({top: Math.max(0, y - (r / 2)), width: L, height: r, marginLeft: -L / 2}).show();v = m || (H.currentStyle && (H.currentStyle.position != "fixed"));Iif (v) {
        H.style.position = "absolute"
    }w(H).css("opacity", u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();j(1);f = O;u.loop = u.loop && (f.length > 1);return b(N)
};w.fn.slimbox = function (M, P, O) {
    P = P || function (Q) {
        return [Q.href, Q.title]
    };O = O || function () {
        return true
    };var N = this;return N.off("click").click(function () {
        var S = this, U = 0, T, Q = 0, R;T = w.grep(N, function (W, V) {
            return O.call(S, W, V)
        });for (R = T.length; Q < R; ++Q) {
            if (T[Q] == S) {
                U = Q
            }T[Q] = P(T[Q], Q)
        }return w.slimbox(T, U, M)
    })
};function z() {
    var N = E.scrollLeft(), M = E.width();w([a, G]).css("left", N + (M / 2));Iif (v) {
        w(H).css({left: N, top: E.scrollTop(), width: M, height: E.height()})
    }
}function j(M) {
    Eif (M) {
        w("object").add(m ? "select" : "embed").each(function (O, P) {
            s[O] = [P, P.style.visibility];P.style.visibility = "hidden"
        })
    }else {
        w.each(s, function (O, P) {
            P[0].style.visibility = P[1]
        });s = []
    }var N = M ? "bind" : "unbind";E[N]("scroll resize", z);w(document)[N]("keydown", o)
}function o(O) {
    var N = O.keyCode, M = w.inArray;return (M(N, u.closeKeys) >= 0) ? C() : (M(N, u.nextKeys) >= 0) ? e() : (M(N, u.previousKeys) >= 0) ? B() : false
}function B() {
    return b(x)
}function e() {
    return b(D)
}function b(M) {
    Eif (M >= 0) {
        F = M;n = f[F][0];x = (F || (u.loop ? f.length : 0)) - 1;D = ((F + 1) % f.length) || (u.loop ? 0 : -1);q();a.className = "lbLoading";k = new Image();k.onload = i;k.src = n
    }return false
}function i() {
    a.className = "";
 
    // https://stackoverflow.com/questions/3257059/limit-slimbox-lightbox-image-to-window-size
    const winWidth = w(window).width() - 20;
    const winHeight = w(window).height() - 20;
    const maxSize = (winWidth > winHeight) ? winHeight : winWidth;
    let my_w = k.width;
    let my_h = k.height;
    Iif (my_w > my_h)
    {
        my_h = maxSize * my_h / my_w;
        my_w = maxSize;
    } else {
        my_w = maxSize * my_w / my_h;
        my_h = maxSize;
    }
    Iif (k.width > my_w || k.height > my_h) {
        w(g).css({backgroundImage: "url(" + n + ")", backgroundSize: my_w + "px " + my_h + "px", visibility: "hidden", display: ""});
        w(p).width(my_w);
        w([p, I, d]).height(my_h);
    } else {
        w(g).css({backgroundImage: "url(" + n + ")", visibility: "hidden", display: ""});
        w(p).width(k.width);
        w([p, I, d]).height(k.height);
    }
 
    w(A).html(f[F][1] || "");w(K).html((((f.length > 1) && u.counterText) || "").replace(/{x}/, F + 1).replace(/{y}/, f.length));Iif (x >= 0) {
        t.src = f[x][0]
    }Iif (D >= 0) {
        J.src = f[D][0]
    }L = g.offsetWidth;r = g.offsetHeight;var M = Math.max(0, y - (r / 2));Eif (a.offsetHeight != r) {
        w(a).animate({height: r, top: M}, u.resizeDuration, u.resizeEasing)
    }Eif (a.offsetWidth != L) {
        w(a).animate({width: L, marginLeft: -L / 2}, u.resizeDuration, u.resizeEasing)
    }w(a).queue(function () {
        w(G).css({width: L, top: M + r, marginLeft: -L / 2, visibility: "hidden", display: ""});w(g).css({display: "none", visibility: "", opacity: ""}).fadeIn(u.imageFadeDuration, h)
    })
}function h() {
    if (x >= 0) {
        w(I).show()
    }if (D >= 0) {
        w(d).show()
    }w(c).css("marginTop", -c.offsetHeight).animate({marginTop: 0}, u.captionAnimationDuration);G.style.visibility = ""
}function q() {
    k.onload = null;k.src = t.src = J.src = n;w([a, g, c]).stop(true);w([I, d, g, G]).hide()
}function C() {
    if (F >= 0) {
        q();F = x = D = -1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration, j)
    }return false
}
})(jQuery);
  |