123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515 |
- /*!
- * SuperSlide v2.1
- * 轻松解决网站大部分特效展示问题
- * 详尽信息请看官网:http://www.SuperSlide2.com/
- *
- * Copyright 2011-2013, 大话主席
- *
- * 请尊重原创,保留头部版权
- * 在保留版权的前提下可应用于个人或商业用途
- */
- (function(a) {
- a.fn.slide = function(b) {
- return a.fn.slide.defaults = {
- type: "slide",
- effect: "fade",
- autoPlay: !1,
- delayTime: 500,
- interTime: 2500,
- triggerTime: 150,
- defaultIndex: 0,
- titCell: ".hd li",
- mainCell: ".bd",
- targetCell: null,
- trigger: "mouseover",
- scroll: 1,
- vis: 1,
- titOnClassName: "on",
- autoPage: !1,
- prevCell: ".prev",
- nextCell: ".next",
- pageStateCell: ".pageState",
- opp: !1,
- pnLoop: !0,
- easing: "swing",
- startFun: null,
- endFun: null,
- switchLoad: null,
- playStateCell: ".playState",
- mouseOverStop: !0,
- defaultPlay: !0,
- returnDefault: !1
- }, this.each(function() {
- var c = a.extend({}, a.fn.slide.defaults, b),
- d = a(this),
- e = c.effect,
- f = a(c.prevCell, d),
- g = a(c.nextCell, d),
- h = a(c.pageStateCell, d),
- i = a(c.playStateCell, d),
- j = a(c.titCell, d),
- k = j.size(),
- l = a(c.mainCell, d),
- m = l.children().size(),
- n = c.switchLoad,
- o = a(c.targetCell, d),
- p = parseInt(c.defaultIndex),
- q = parseInt(c.delayTime),
- r = parseInt(c.interTime);
- parseInt(c.triggerTime);
- var P, t = parseInt(c.scroll),
- u = parseInt(c.vis),
- v = "false" == c.autoPlay || 0 == c.autoPlay ? !1 : !0,
- w = "false" == c.opp || 0 == c.opp ? !1 : !0,
- x = "false" == c.autoPage || 0 == c.autoPage ? !1 : !0,
- y = "false" == c.pnLoop || 0 == c.pnLoop ? !1 : !0,
- z = "false" == c.mouseOverStop || 0 == c.mouseOverStop ? !1 : !0,
- A = "false" == c.defaultPlay || 0 == c.defaultPlay ? !1 : !0,
- B = "false" == c.returnDefault || 0 == c.returnDefault ? !1 : !0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = c.easing,
- H = null,
- I = null,
- J = null,
- K = c.titOnClassName,
- L = j.index(d.find("." + K)),
- M = p = defaultIndex = -1 == L ? p : L,
- N = p,
- O = m >= u ? 0 != m % t ? m % t : t : 0,
- Q = "leftMarquee" == e || "topMarquee" == e ? !0 : !1,
- R = function() {
- a.isFunction(c.startFun) && c.startFun(p, k, d, a(c.titCell, d), l, o, f, g)
- },
- S = function() {
- a.isFunction(c.endFun) && c.endFun(p, k, d, a(c.titCell, d), l, o, f, g)
- },
- T = function() {
- j.removeClass(K), A && j.eq(defaultIndex).addClass(K)
- };
- if ("menu" == c.type) return A && j.removeClass(K).eq(p).addClass(K), j.hover(function() {
- P = a(this).find(c.targetCell);
- var b = j.index(a(this));
- I = setTimeout(function() {
- switch (p = b, j.removeClass(K).eq(p).addClass(K), R(), e) {
- case "fade":
- P.stop(!0, !0).animate({
- opacity: "show"
- }, q, G, S);
- break;
- case "slideDown":
- P.stop(!0, !0).animate({
- height: "show"
- }, q, G, S)
- }
- }, c.triggerTime)
- }, function() {
- switch (clearTimeout(I), e) {
- case "fade":
- P.animate({
- opacity: "hide"
- }, q, G);
- break;
- case "slideDown":
- P.animate({
- height: "hide"
- }, q, G)
- }
- }), B && d.hover(function() {
- clearTimeout(J)
- }, function() {
- J = setTimeout(T, q)
- }), void 0;
- if (0 == k && (k = m), Q && (k = 2), x) {
- if (m >= u)
- if ("leftLoop" == e || "topLoop" == e) k = 0 != m % t ? (0 ^ m / t) + 1 : m / t;
- else {
- var U = m - u;
- k = 1 + parseInt(0 != U % t ? U / t + 1 : U / t), 0 >= k && (k = 1)
- } else k = 1;
- j.html("");
- var V = "";
- if (1 == c.autoPage || "true" == c.autoPage)
- for (var W = 0; k > W; W++) V += "<li>" + (W + 1) + "</li>";
- else
- for (var W = 0; k > W; W++) V += c.autoPage.replace("$", W + 1);
- j.html(V);
- var j = j.children()
- }
- if (m >= u) {
- l.children().each(function() {
- a(this).width() > E && (E = a(this).width(), D = a(this).outerWidth(!0)), a(this).height() > F && (F = a(this).height(), C = a(this).outerHeight(!0))
- });
- var X = l.children(),
- Y = function() {
- for (var a = 0; u > a; a++) X.eq(a).clone().addClass("clone").appendTo(l);
- for (var a = 0; O > a; a++) X.eq(m - a - 1).clone().addClass("clone").prependTo(l)
- };
- switch (e) {
- case "fold":
- l.css({
- position: "relative",
- width: D,
- height: C
- }).children().css({
- position: "absolute",
- width: E,
- left: 0,
- top: 0,
- display: "none"
- });
- break;
- case "top":
- l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; height:' + u * C + 'px"></div>').css({
- top: -(p * t) * C,
- position: "relative",
- padding: "0",
- margin: "0"
- }).children().css({
- height: F
- });
- break;
- case "left":
- l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; width:' + u * D + 'px"></div>').css({
- width: m * D,
- left: -(p * t) * D,
- position: "relative",
- overflow: "hidden",
- padding: "0",
- margin: "0"
- }).children().css({
- "float": "left",
- width: E
- });
- break;
- case "leftLoop":
- case "leftMarquee":
- Y(), l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; width:' + u * D + 'px"></div>').css({
- width: (m + u + O) * D,
- position: "relative",
- overflow: "hidden",
- padding: "0",
- margin: "0",
- left: -(O + p * t) * D
- }).children().css({
- "float": "left",
- width: E
- });
- break;
- case "topLoop":
- case "topMarquee":
- Y(), l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; height:' + u * C + 'px"></div>').css({
- height: (m + u + O) * C,
- position: "relative",
- padding: "0",
- margin: "0",
- top: -(O + p * t) * C
- }).children().css({
- height: F
- })
- }
- }
- var Z = function(a) {
- var b = a * t;
- return a == k ? b = m : -1 == a && 0 != m % t && (b = -m % t), b
- },
- $ = function(b) {
- var c = function(c) {
- for (var d = c; u + c > d; d++) b.eq(d).find("img[" + n + "]").each(function() {
- var b = a(this);
- if (b.attr("src", b.attr(n)).removeAttr(n), l.find(".clone")[0])
- for (var c = l.children(), d = 0; c.size() > d; d++) c.eq(d).find("img[" + n + "]").each(function() {
- a(this).attr(n) == b.attr("src") && a(this).attr("src", a(this).attr(n)).removeAttr(n)
- })
- })
- };
- switch (e) {
- case "fade":
- case "fold":
- case "top":
- case "left":
- case "slideDown":
- c(p * t);
- break;
- case "leftLoop":
- case "topLoop":
- c(O + Z(N));
- break;
- case "leftMarquee":
- case "topMarquee":
- var d = "leftMarquee" == e ? l.css("left").replace("px", "") : l.css("top").replace("px", ""),
- f = "leftMarquee" == e ? D : C,
- g = O;
- if (0 != d % f) {
- var h = Math.abs(0 ^ d / f);
- g = 1 == p ? O + h : O + h - 1
- }
- c(g)
- }
- },
- _ = function(a) {
- if (!A || M != p || a || Q) {
- if (Q ? p >= 1 ? p = 1 : 0 >= p && (p = 0) : (N = p, p >= k ? p = 0 : 0 > p && (p = k - 1)), R(), null != n && $(l.children()), o[0] && (P = o.eq(p), null != n && $(o), "slideDown" == e ? (o.not(P).stop(!0, !0).slideUp(q), P.slideDown(q, G, function() {
- l[0] || S()
- })) : (o.not(P).stop(!0, !0).hide(), P.animate({
- opacity: "show"
- }, q, function() {
- l[0] || S()
- }))), m >= u) switch (e) {
- case "fade":
- l.children().stop(!0, !0).eq(p).animate({
- opacity: "show"
- }, q, G, function() {
- S()
- }).siblings().hide();
- break;
- case "fold":
- l.children().stop(!0, !0).eq(p).animate({
- opacity: "show"
- }, q, G, function() {
- S()
- }).siblings().animate({
- opacity: "hide"
- }, q, G);
- break;
- case "top":
- l.stop(!0, !1).animate({
- top: -p * t * C
- }, q, G, function() {
- S()
- });
- break;
- case "left":
- l.stop(!0, !1).animate({
- left: -p * t * D
- }, q, G, function() {
- S()
- });
- break;
- case "leftLoop":
- var b = N;
- l.stop(!0, !0).animate({
- left: -(Z(N) + O) * D
- }, q, G, function() {
- -1 >= b ? l.css("left", -(O + (k - 1) * t) * D) : b >= k && l.css("left", -O * D), S()
- });
- break;
- case "topLoop":
- var b = N;
- l.stop(!0, !0).animate({
- top: -(Z(N) + O) * C
- }, q, G, function() {
- -1 >= b ? l.css("top", -(O + (k - 1) * t) * C) : b >= k && l.css("top", -O * C), S()
- });
- break;
- case "leftMarquee":
- var c = l.css("left").replace("px", "");
- 0 == p ? l.animate({
- left: ++c
- }, 0, function() {
- l.css("left").replace("px", "") >= 0 && l.css("left", -m * D)
- }) : l.animate({
- left: --c
- }, 0, function() {
- -(m + O) * D >= l.css("left").replace("px", "") && l.css("left", -O * D)
- });
- break;
- case "topMarquee":
- var d = l.css("top").replace("px", "");
- 0 == p ? l.animate({
- top: ++d
- }, 0, function() {
- l.css("top").replace("px", "") >= 0 && l.css("top", -m * C)
- }) : l.animate({
- top: --d
- }, 0, function() {
- -(m + O) * C >= l.css("top").replace("px", "") && l.css("top", -O * C)
- })
- }
- j.removeClass(K).eq(p).addClass(K), M = p, y || (g.removeClass("nextStop"), f.removeClass("prevStop"), 0 == p && f.addClass("prevStop"), p == k - 1 && g.addClass("nextStop")), h.html("<span>" + (p + 1) + "</span>/" + k)
- }
- };
- A && _(!0), B && d.hover(function() {
- clearTimeout(J)
- }, function() {
- J = setTimeout(function() {
- p = defaultIndex, A ? _() : "slideDown" == e ? P.slideUp(q, T) : P.animate({
- opacity: "hide"
- }, q, T), M = p
- }, 300)
- });
- var ab = function(a) {
- H = setInterval(function() {
- w ? p-- : p++, _()
- }, a ? a : r)
- },
- bb = function(a) {
- H = setInterval(_, a ? a : r)
- },
- cb = function() {
- z || (clearInterval(H), ab())
- },
- db = function() {
- (y || p != k - 1) && (p++, _(), Q || cb())
- },
- eb = function() {
- (y || 0 != p) && (p--, _(), Q || cb())
- },
- fb = function() {
- clearInterval(H), Q ? bb() : ab(), i.removeClass("pauseState")
- },
- gb = function() {
- clearInterval(H), i.addClass("pauseState")
- };
- if (v ? Q ? (w ? p-- : p++, bb(), z && l.hover(gb, fb)) : (ab(), z && d.hover(gb, fb)) : (Q && (w ? p-- : p++), i.addClass("pauseState")), i.click(function() {
- i.hasClass("pauseState") ? fb() : gb()
- }), "mouseover" == c.trigger ? j.hover(function() {
- var a = j.index(this);
- I = setTimeout(function() {
- p = a, _(), cb()
- }, c.triggerTime)
- }, function() {
- clearTimeout(I)
- }) : j.click(function() {
- p = j.index(this), _(), cb()
- }), Q) {
- if (g.mousedown(db), f.mousedown(eb), y) {
- var hb, ib = function() {
- hb = setTimeout(function() {
- clearInterval(H), bb(0 ^ r / 10)
- }, 150)
- },
- jb = function() {
- clearTimeout(hb), clearInterval(H), bb()
- };
- g.mousedown(ib), g.mouseup(jb), f.mousedown(ib), f.mouseup(jb)
- }
- "mouseover" == c.trigger && (g.hover(db, function() {}), f.hover(eb, function() {}))
- } else g.click(db), f.click(eb)
- })
- }
- })(jQuery), jQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, {
- def: "easeOutQuad",
- swing: function(a, b, c, d, e) {
- return jQuery.easing[jQuery.easing.def](a, b, c, d, e)
- },
- easeInQuad: function(a, b, c, d, e) {
- return d * (b /= e) * b + c
- },
- easeOutQuad: function(a, b, c, d, e) {
- return -d * (b /= e) * (b - 2) + c
- },
- easeInOutQuad: function(a, b, c, d, e) {
- return 1 > (b /= e / 2) ? d / 2 * b * b + c : -d / 2 * (--b * (b - 2) - 1) + c
- },
- easeInCubic: function(a, b, c, d, e) {
- return d * (b /= e) * b * b + c
- },
- easeOutCubic: function(a, b, c, d, e) {
- return d * ((b = b / e - 1) * b * b + 1) + c
- },
- easeInOutCubic: function(a, b, c, d, e) {
- return 1 > (b /= e / 2) ? d / 2 * b * b * b + c : d / 2 * ((b -= 2) * b * b + 2) + c
- },
- easeInQuart: function(a, b, c, d, e) {
- return d * (b /= e) * b * b * b + c
- },
- easeOutQuart: function(a, b, c, d, e) {
- return -d * ((b = b / e - 1) * b * b * b - 1) + c
- },
- easeInOutQuart: function(a, b, c, d, e) {
- return 1 > (b /= e / 2) ? d / 2 * b * b * b * b + c : -d / 2 * ((b -= 2) * b * b * b - 2) + c
- },
- easeInQuint: function(a, b, c, d, e) {
- return d * (b /= e) * b * b * b * b + c
- },
- easeOutQuint: function(a, b, c, d, e) {
- return d * ((b = b / e - 1) * b * b * b * b + 1) + c
- },
- easeInOutQuint: function(a, b, c, d, e) {
- return 1 > (b /= e / 2) ? d / 2 * b * b * b * b * b + c : d / 2 * ((b -= 2) * b * b * b * b + 2) + c
- },
- easeInSine: function(a, b, c, d, e) {
- return -d * Math.cos(b / e * (Math.PI / 2)) + d + c
- },
- easeOutSine: function(a, b, c, d, e) {
- return d * Math.sin(b / e * (Math.PI / 2)) + c
- },
- easeInOutSine: function(a, b, c, d, e) {
- return -d / 2 * (Math.cos(Math.PI * b / e) - 1) + c
- },
- easeInExpo: function(a, b, c, d, e) {
- return 0 == b ? c : d * Math.pow(2, 10 * (b / e - 1)) + c
- },
- easeOutExpo: function(a, b, c, d, e) {
- return b == e ? c + d : d * (-Math.pow(2, -10 * b / e) + 1) + c
- },
- easeInOutExpo: function(a, b, c, d, e) {
- return 0 == b ? c : b == e ? c + d : 1 > (b /= e / 2) ? d / 2 * Math.pow(2, 10 * (b - 1)) + c : d / 2 * (-Math.pow(2, -10 * --b) + 2) + c
- },
- easeInCirc: function(a, b, c, d, e) {
- return -d * (Math.sqrt(1 - (b /= e) * b) - 1) + c
- },
- easeOutCirc: function(a, b, c, d, e) {
- return d * Math.sqrt(1 - (b = b / e - 1) * b) + c
- },
- easeInOutCirc: function(a, b, c, d, e) {
- return 1 > (b /= e / 2) ? -d / 2 * (Math.sqrt(1 - b * b) - 1) + c : d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c
- },
- easeInElastic: function(a, b, c, d, e) {
- var f = 1.70158,
- g = 0,
- h = d;
- if (0 == b) return c;
- if (1 == (b /= e)) return c + d;
- if (g || (g = .3 * e), Math.abs(d) > h) {
- h = d;
- var f = g / 4
- } else var f = g / (2 * Math.PI) * Math.asin(d / h);
- return -(h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g)) + c
- },
- easeOutElastic: function(a, b, c, d, e) {
- var f = 1.70158,
- g = 0,
- h = d;
- if (0 == b) return c;
- if (1 == (b /= e)) return c + d;
- if (g || (g = .3 * e), Math.abs(d) > h) {
- h = d;
- var f = g / 4
- } else var f = g / (2 * Math.PI) * Math.asin(d / h);
- return h * Math.pow(2, -10 * b) * Math.sin((b * e - f) * 2 * Math.PI / g) + d + c
- },
- easeInOutElastic: function(a, b, c, d, e) {
- var f = 1.70158,
- g = 0,
- h = d;
- if (0 == b) return c;
- if (2 == (b /= e / 2)) return c + d;
- if (g || (g = e * .3 * 1.5), Math.abs(d) > h) {
- h = d;
- var f = g / 4
- } else var f = g / (2 * Math.PI) * Math.asin(d / h);
- return 1 > b ? -.5 * h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) + c : .5 * h * Math.pow(2, -10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g) + d + c
- },
- easeInBack: function(a, b, c, d, e, f) {
- return void 0 == f && (f = 1.70158), d * (b /= e) * b * ((f + 1) * b - f) + c
- },
- easeOutBack: function(a, b, c, d, e, f) {
- return void 0 == f && (f = 1.70158), d * ((b = b / e - 1) * b * ((f + 1) * b + f) + 1) + c
- },
- easeInOutBack: function(a, b, c, d, e, f) {
- return void 0 == f && (f = 1.70158), 1 > (b /= e / 2) ? d / 2 * b * b * (((f *= 1.525) + 1) * b - f) + c : d / 2 * ((b -= 2) * b * (((f *= 1.525) + 1) * b + f) + 2) + c
- },
- easeInBounce: function(a, b, c, d, e) {
- return d - jQuery.easing.easeOutBounce(a, e - b, 0, d, e) + c
- },
- easeOutBounce: function(a, b, c, d, e) {
- return 1 / 2.75 > (b /= e) ? d * 7.5625 * b * b + c : 2 / 2.75 > b ? d * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c : 2.5 / 2.75 > b ? d * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c : d * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c
- },
- easeInOutBounce: function(a, b, c, d, e) {
- return e / 2 > b ? .5 * jQuery.easing.easeInBounce(a, 2 * b, 0, d, e) + c : .5 * jQuery.easing.easeOutBounce(a, 2 * b - e, 0, d, e) + .5 * d + c
- }
- });
|