2a3bc628486b976f9553207c74697ffd801f327f.svn-base 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  1. (function(a) {
  2. a.fn.slide = function(b) {
  3. return a.fn.slide.defaults = {
  4. type: "slide",
  5. effect: "fade",
  6. autoPlay: !1,
  7. delayTime: 500,
  8. interTime: 2500,
  9. triggerTime: 150,
  10. defaultIndex: 0,
  11. titCell: ".hd li",
  12. mainCell: ".bd",
  13. targetCell: null,
  14. trigger: "mouseover",
  15. scroll: 1,
  16. vis: 1,
  17. titOnClassName: "on",
  18. autoPage: !1,
  19. prevCell: ".prev",
  20. nextCell: ".next",
  21. pageStateCell: ".pageState",
  22. opp: !1,
  23. pnLoop: !0,
  24. easing: "swing",
  25. startFun: null,
  26. endFun: null,
  27. switchLoad: null,
  28. playStateCell: ".playState",
  29. mouseOverStop: !0,
  30. defaultPlay: !0,
  31. returnDefault: !1
  32. },
  33. this.each(function() {
  34. var c = a.extend({},
  35. a.fn.slide.defaults, b),
  36. d = a(this),
  37. e = c.effect,
  38. f = a(c.prevCell, d),
  39. g = a(c.nextCell, d),
  40. h = a(c.pageStateCell, d),
  41. i = a(c.playStateCell, d),
  42. j = a(c.titCell, d),
  43. k = j.size(),
  44. l = a(c.mainCell, d),
  45. m = l.children().size(),
  46. n = c.switchLoad,
  47. o = a(c.targetCell, d),
  48. p = parseInt(c.defaultIndex),
  49. q = parseInt(c.delayTime),
  50. r = parseInt(c.interTime);
  51. parseInt(c.triggerTime);
  52. var P, t = parseInt(c.scroll),
  53. u = parseInt(c.vis),
  54. v = "false" == c.autoPlay || 0 == c.autoPlay ? !1 : !0,
  55. w = "false" == c.opp || 0 == c.opp ? !1 : !0,
  56. x = "false" == c.autoPage || 0 == c.autoPage ? !1 : !0,
  57. y = "false" == c.pnLoop || 0 == c.pnLoop ? !1 : !0,
  58. z = "false" == c.mouseOverStop || 0 == c.mouseOverStop ? !1 : !0,
  59. A = "false" == c.defaultPlay || 0 == c.defaultPlay ? !1 : !0,
  60. B = "false" == c.returnDefault || 0 == c.returnDefault ? !1 : !0,
  61. C = 0,
  62. D = 0,
  63. E = 0,
  64. F = 0,
  65. G = c.easing,
  66. H = null,
  67. I = null,
  68. J = null,
  69. K = c.titOnClassName,
  70. L = j.index(d.find("." + K)),
  71. M = p = defaultIndex = -1 == L ? p: L,
  72. N = p,
  73. O = m >= u ? 0 != m % t ? m % t: t: 0,
  74. Q = "leftMarquee" == e || "topMarquee" == e ? !0 : !1,
  75. R = function() {
  76. a.isFunction(c.startFun) && c.startFun(p, k, d, a(c.titCell, d), l, o, f, g)
  77. },
  78. S = function() {
  79. a.isFunction(c.endFun) && c.endFun(p, k, d, a(c.titCell, d), l, o, f, g)
  80. },
  81. T = function() {
  82. j.removeClass(K),
  83. A && j.eq(defaultIndex).addClass(K)
  84. };
  85. if ("menu" == c.type) return A && j.removeClass(K).eq(p).addClass(K),
  86. j.hover(function() {
  87. P = a(this).find(c.targetCell);
  88. var b = j.index(a(this));
  89. I = setTimeout(function() {
  90. switch (p = b, j.removeClass(K).eq(p).addClass(K), R(), e) {
  91. case "fade":
  92. P.stop(!0, !0).animate({
  93. opacity: "show"
  94. },
  95. q, G, S);
  96. break;
  97. case "slideDown":
  98. P.stop(!0, !0).animate({
  99. height: "show"
  100. },
  101. q, G, S)
  102. }
  103. },
  104. c.triggerTime)
  105. },
  106. function() {
  107. switch (clearTimeout(I), e) {
  108. case "fade":
  109. P.animate({
  110. opacity:
  111. "hide"
  112. },
  113. q, G);
  114. break;
  115. case "slideDown":
  116. P.animate({
  117. height:
  118. "hide"
  119. },
  120. q, G)
  121. }
  122. }),
  123. B && d.hover(function() {
  124. clearTimeout(J)
  125. },
  126. function() {
  127. J = setTimeout(T, q)
  128. }),
  129. void 0;
  130. if (0 == k && (k = m), Q && (k = 2), x) {
  131. if (m >= u) if ("leftLoop" == e || "topLoop" == e) k = 0 != m % t ? (0 ^ m / t) + 1 : m / t;
  132. else {
  133. var U = m - u;
  134. k = 1 + parseInt(0 != U % t ? U / t + 1 : U / t),
  135. 0 >= k && (k = 1)
  136. } else k = 1;
  137. j.html("");
  138. var V = "";
  139. if (1 == c.autoPage || "true" == c.autoPage) for (var W = 0; k > W; W++) V += "<li>" + (W + 1) + "</li>";
  140. else for (var W = 0; k > W; W++) V += c.autoPage.replace("$", W + 1);
  141. j.html(V);
  142. var j = j.children()
  143. }
  144. if (m >= u) {
  145. l.children().each(function() {
  146. a(this).width() > E && (E = a(this).width(), D = a(this).outerWidth(!0)),
  147. a(this).height() > F && (F = a(this).height(), C = a(this).outerHeight(!0))
  148. });
  149. var X = l.children(),
  150. Y = function() {
  151. for (var a = 0; u > a; a++) X.eq(a).clone().addClass("clone").appendTo(l);
  152. for (var a = 0; O > a; a++) X.eq(m - a - 1).clone().addClass("clone").prependTo(l)
  153. };
  154. switch (e) {
  155. case "fold":
  156. l.css({
  157. position:
  158. "relative",
  159. width: D,
  160. height: C
  161. }).children().css({
  162. position: "absolute",
  163. width: E,
  164. left: 0,
  165. top: 0,
  166. display: "none"
  167. });
  168. break;
  169. case "top":
  170. l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; height:' + u * C + 'px"></div>').css({
  171. top: -(p * t) * C,
  172. position: "relative",
  173. padding: "0",
  174. margin: "0"
  175. }).children().css({
  176. height: F
  177. });
  178. break;
  179. case "left":
  180. l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; width:100%;"></div>').css({
  181. width: m * D,
  182. left: -(p * t) * D,
  183. position: "relative",
  184. overflow: "hidden",
  185. padding: "0",
  186. margin: "0"
  187. }).children().css({
  188. "float": "left",
  189. width: E
  190. });
  191. break;
  192. case "leftLoop":
  193. case "leftMarquee":
  194. Y(),
  195. l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; width:100%;"></div>').css({
  196. width: (m + u + O) * D,
  197. position: "relative",
  198. overflow: "hidden",
  199. padding: "0",
  200. margin: "0",
  201. left: -(O + p * t) * D
  202. }).children().css({
  203. "float": "left",
  204. width: E
  205. });
  206. break;
  207. case "topLoop":
  208. case "topMarquee":
  209. Y(),
  210. l.wrap('<div class="tempWrap" style="overflow:hidden; position:relative; height:' + u * C + 'px"></div>').css({
  211. height: (m + u + O) * C,
  212. position: "relative",
  213. padding: "0",
  214. margin: "0",
  215. top: -(O + p * t) * C
  216. }).children().css({
  217. height: F
  218. })
  219. }
  220. }
  221. var Z = function(a) {
  222. var b = a * t;
  223. return a == k ? b = m: -1 == a && 0 != m % t && (b = -m % t),
  224. b
  225. },
  226. $ = function(b) {
  227. var c = function(c) {
  228. for (var d = c; u + c > d; d++) b.eq(d).find("img[" + n + "]").each(function() {
  229. var b = a(this);
  230. 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() {
  231. a(this).attr(n) == b.attr("src") && a(this).attr("src", a(this).attr(n)).removeAttr(n)
  232. })
  233. })
  234. };
  235. switch (e) {
  236. case "fade":
  237. case "fold":
  238. case "top":
  239. case "left":
  240. case "slideDown":
  241. c(p * t);
  242. break;
  243. case "leftLoop":
  244. case "topLoop":
  245. c(O + Z(N));
  246. break;
  247. case "leftMarquee":
  248. case "topMarquee":
  249. var d = "leftMarquee" == e ? l.css("left").replace("px", "") : l.css("top").replace("px", ""),
  250. f = "leftMarquee" == e ? D: C,
  251. g = O;
  252. if (0 != d % f) {
  253. var h = Math.abs(0 ^ d / f);
  254. g = 1 == p ? O + h: O + h - 1
  255. }
  256. c(g)
  257. }
  258. },
  259. _ = function(a) {
  260. if (!A || M != p || a || Q) {
  261. 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,
  262. function() {
  263. l[0] || S()
  264. })) : (o.not(P).stop(!0, !0).hide(), P.animate({
  265. opacity: "show"
  266. },
  267. q,
  268. function() {
  269. l[0] || S()
  270. }))), m >= u) switch (e) {
  271. case "fade":
  272. l.children().stop(!0, !0).eq(p).animate({
  273. opacity: "show"
  274. },
  275. q, G,
  276. function() {
  277. S()
  278. }).siblings().hide();
  279. break;
  280. case "fold":
  281. l.children().stop(!0, !0).eq(p).animate({
  282. opacity: "show"
  283. },
  284. q, G,
  285. function() {
  286. S()
  287. }).siblings().animate({
  288. opacity: "hide"
  289. },
  290. q, G);
  291. break;
  292. case "top":
  293. l.stop(!0, !1).animate({
  294. top: -p * t * C
  295. },
  296. q, G,
  297. function() {
  298. S()
  299. });
  300. break;
  301. case "left":
  302. l.stop(!0, !1).animate({
  303. left: -p * t * D
  304. },
  305. q, G,
  306. function() {
  307. S()
  308. });
  309. break;
  310. case "leftLoop":
  311. var b = N;
  312. l.stop(!0, !0).animate({
  313. left: -(Z(N) + O) * D
  314. },
  315. q, G,
  316. function() { - 1 >= b ? l.css("left", -(O + (k - 1) * t) * D) : b >= k && l.css("left", -O * D),
  317. S()
  318. });
  319. break;
  320. case "topLoop":
  321. var b = N;
  322. l.stop(!0, !0).animate({
  323. top: -(Z(N) + O) * C
  324. },
  325. q, G,
  326. function() { - 1 >= b ? l.css("top", -(O + (k - 1) * t) * C) : b >= k && l.css("top", -O * C),
  327. S()
  328. });
  329. break;
  330. case "leftMarquee":
  331. var c = l.css("left").replace("px", "");
  332. 0 == p ? l.animate({
  333. left: ++c
  334. },
  335. 0,
  336. function() {
  337. l.css("left").replace("px", "") >= 0 && l.css("left", -m * D)
  338. }) : l.animate({
  339. left: --c
  340. },
  341. 0,
  342. function() { - (m + O) * D >= l.css("left").replace("px", "") && l.css("left", -O * D)
  343. });
  344. break;
  345. case "topMarquee":
  346. var d = l.css("top").replace("px", "");
  347. 0 == p ? l.animate({
  348. top: ++d
  349. },
  350. 0,
  351. function() {
  352. l.css("top").replace("px", "") >= 0 && l.css("top", -m * C)
  353. }) : l.animate({
  354. top: --d
  355. },
  356. 0,
  357. function() { - (m + O) * C >= l.css("top").replace("px", "") && l.css("top", -O * C)
  358. })
  359. }
  360. j.removeClass(K).eq(p).addClass(K),
  361. M = p,
  362. y || (g.removeClass("nextStop"), f.removeClass("prevStop"), 0 == p && f.addClass("prevStop"), p == k - 1 && g.addClass("nextStop")),
  363. h.html("<span>" + (p + 1) + "</span>/" + k)
  364. }
  365. };
  366. A && _(!0),
  367. B && d.hover(function() {
  368. clearTimeout(J)
  369. },
  370. function() {
  371. J = setTimeout(function() {
  372. p = defaultIndex,
  373. A ? _() : "slideDown" == e ? P.slideUp(q, T) : P.animate({
  374. opacity: "hide"
  375. },
  376. q, T),
  377. M = p
  378. },
  379. 300)
  380. });
  381. var ab = function(a) {
  382. H = setInterval(function() {
  383. w ? p--:p++,
  384. _()
  385. },
  386. a ? a: r)
  387. },
  388. bb = function(a) {
  389. H = setInterval(_, a ? a: r)
  390. },
  391. cb = function() {
  392. z || (clearInterval(H), ab())
  393. },
  394. db = function() { (y || p != k - 1) && (p++, _(), Q || cb())
  395. },
  396. eb = function() { (y || 0 != p) && (p--, _(), Q || cb())
  397. },
  398. fb = function() {
  399. clearInterval(H),
  400. Q ? bb() : ab(),
  401. i.removeClass("pauseState")
  402. },
  403. gb = function() {
  404. clearInterval(H),
  405. i.addClass("pauseState")
  406. };
  407. 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() {
  408. i.hasClass("pauseState") ? fb() : gb()
  409. }), "mouseover" == c.trigger ? j.hover(function() {
  410. var a = j.index(this);
  411. I = setTimeout(function() {
  412. p = a,
  413. _(),
  414. cb()
  415. },
  416. c.triggerTime)
  417. },
  418. function() {
  419. clearTimeout(I)
  420. }) : j.click(function() {
  421. p = j.index(this),
  422. _(),
  423. cb()
  424. }), Q) {
  425. if (g.mousedown(db), f.mousedown(eb), y) {
  426. var hb, ib = function() {
  427. hb = setTimeout(function() {
  428. clearInterval(H),
  429. bb(0 ^ r / 10)
  430. },
  431. 150)
  432. },
  433. jb = function() {
  434. clearTimeout(hb),
  435. clearInterval(H),
  436. bb()
  437. };
  438. g.mousedown(ib),
  439. g.mouseup(jb),
  440. f.mousedown(ib),
  441. f.mouseup(jb)
  442. }
  443. "mouseover" == c.trigger && (g.hover(db,
  444. function() {}), f.hover(eb,
  445. function() {}))
  446. } else g.click(db),
  447. f.click(eb)
  448. })
  449. }
  450. })(jQuery),
  451. jQuery.easing.jswing = jQuery.easing.swing,
  452. jQuery.extend(jQuery.easing, {
  453. def: "easeOutQuad",
  454. swing: function(a, b, c, d, e) {
  455. return jQuery.easing[jQuery.easing.def](a, b, c, d, e)
  456. },
  457. easeInQuad: function(a, b, c, d, e) {
  458. return d * (b /= e) * b + c
  459. },
  460. easeOutQuad: function(a, b, c, d, e) {
  461. return - d * (b /= e) * (b - 2) + c
  462. },
  463. easeInOutQuad: function(a, b, c, d, e) {
  464. return 1 > (b /= e / 2) ? d / 2 * b * b + c: -d / 2 * (--b * (b - 2) - 1) + c
  465. },
  466. easeInCubic: function(a, b, c, d, e) {
  467. return d * (b /= e) * b * b + c
  468. },
  469. easeOutCubic: function(a, b, c, d, e) {
  470. return d * ((b = b / e - 1) * b * b + 1) + c
  471. },
  472. easeInOutCubic: function(a, b, c, d, e) {
  473. return 1 > (b /= e / 2) ? d / 2 * b * b * b + c: d / 2 * ((b -= 2) * b * b + 2) + c
  474. },
  475. easeInQuart: function(a, b, c, d, e) {
  476. return d * (b /= e) * b * b * b + c
  477. },
  478. easeOutQuart: function(a, b, c, d, e) {
  479. return - d * ((b = b / e - 1) * b * b * b - 1) + c
  480. },
  481. easeInOutQuart: function(a, b, c, d, e) {
  482. return 1 > (b /= e / 2) ? d / 2 * b * b * b * b + c: -d / 2 * ((b -= 2) * b * b * b - 2) + c
  483. },
  484. easeInQuint: function(a, b, c, d, e) {
  485. return d * (b /= e) * b * b * b * b + c
  486. },
  487. easeOutQuint: function(a, b, c, d, e) {
  488. return d * ((b = b / e - 1) * b * b * b * b + 1) + c
  489. },
  490. easeInOutQuint: function(a, b, c, d, e) {
  491. return 1 > (b /= e / 2) ? d / 2 * b * b * b * b * b + c: d / 2 * ((b -= 2) * b * b * b * b + 2) + c
  492. },
  493. easeInSine: function(a, b, c, d, e) {
  494. return - d * Math.cos(b / e * (Math.PI / 2)) + d + c
  495. },
  496. easeOutSine: function(a, b, c, d, e) {
  497. return d * Math.sin(b / e * (Math.PI / 2)) + c
  498. },
  499. easeInOutSine: function(a, b, c, d, e) {
  500. return - d / 2 * (Math.cos(Math.PI * b / e) - 1) + c
  501. },
  502. easeInExpo: function(a, b, c, d, e) {
  503. return 0 == b ? c: d * Math.pow(2, 10 * (b / e - 1)) + c
  504. },
  505. easeOutExpo: function(a, b, c, d, e) {
  506. return b == e ? c + d: d * ( - Math.pow(2, -10 * b / e) + 1) + c
  507. },
  508. easeInOutExpo: function(a, b, c, d, e) {
  509. 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
  510. },
  511. easeInCirc: function(a, b, c, d, e) {
  512. return - d * (Math.sqrt(1 - (b /= e) * b) - 1) + c
  513. },
  514. easeOutCirc: function(a, b, c, d, e) {
  515. return d * Math.sqrt(1 - (b = b / e - 1) * b) + c
  516. },
  517. easeInOutCirc: function(a, b, c, d, e) {
  518. return 1 > (b /= e / 2) ? -d / 2 * (Math.sqrt(1 - b * b) - 1) + c: d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c
  519. },
  520. easeInElastic: function(a, b, c, d, e) {
  521. var f = 1.70158,
  522. g = 0,
  523. h = d;
  524. if (0 == b) return c;
  525. if (1 == (b /= e)) return c + d;
  526. if (g || (g = .3 * e), Math.abs(d) > h) {
  527. h = d;
  528. var f = g / 4
  529. } else var f = g / (2 * Math.PI) * Math.asin(d / h);
  530. return - (h * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - f) * 2 * Math.PI / g)) + c
  531. },
  532. easeOutElastic: function(a, b, c, d, e) {
  533. var f = 1.70158,
  534. g = 0,
  535. h = d;
  536. if (0 == b) return c;
  537. if (1 == (b /= e)) return c + d;
  538. if (g || (g = .3 * e), Math.abs(d) > h) {
  539. h = d;
  540. var f = g / 4
  541. } else var f = g / (2 * Math.PI) * Math.asin(d / h);
  542. return h * Math.pow(2, -10 * b) * Math.sin((b * e - f) * 2 * Math.PI / g) + d + c
  543. },
  544. easeInOutElastic: function(a, b, c, d, e) {
  545. var f = 1.70158,
  546. g = 0,
  547. h = d;
  548. if (0 == b) return c;
  549. if (2 == (b /= e / 2)) return c + d;
  550. if (g || (g = e * .3 * 1.5), Math.abs(d) > h) {
  551. h = d;
  552. var f = g / 4
  553. } else var f = g / (2 * Math.PI) * Math.asin(d / h);
  554. 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
  555. },
  556. easeInBack: function(a, b, c, d, e, f) {
  557. return void 0 == f && (f = 1.70158),
  558. d * (b /= e) * b * ((f + 1) * b - f) + c
  559. },
  560. easeOutBack: function(a, b, c, d, e, f) {
  561. return void 0 == f && (f = 1.70158),
  562. d * ((b = b / e - 1) * b * ((f + 1) * b + f) + 1) + c
  563. },
  564. easeInOutBack: function(a, b, c, d, e, f) {
  565. return void 0 == f && (f = 1.70158),
  566. 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
  567. },
  568. easeInBounce: function(a, b, c, d, e) {
  569. return d - jQuery.easing.easeOutBounce(a, e - b, 0, d, e) + c
  570. },
  571. easeOutBounce: function(a, b, c, d, e) {
  572. 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
  573. },
  574. easeInOutBounce: function(a, b, c, d, e) {
  575. 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
  576. }
  577. });