解码类似eval的JavaScript代码

最简单的解密方法是将 eval() 直接替换成 document.write(),然后将代码输出到页面即可。

在输出前,我们先输出一个<xmp>标记,具体代码构造如下:

<script type="text/javascript"> document.write("<xmp>"); /*eval*/document.write(" 这里是除 eval() 之外的代码部分 "); document.write("</xmp>"); </script>

将上述代码保存为 .html 文件,打开即可得到你要的代码,顺便对代码格式化一下更方便阅读。


/**
 * SlideDeck 1.2.5 Lite - 2011-06-01
 * @param {HTMLObject} el    The <DL> element to extend as a SlideDeck
 * @param {Object} opts        An object to pass custom override options to
 */
document.write("<xmp>");
//eval
document.write(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('L 1P;L 4W={};(T($){3b.1P=T(p,q){L r=O,p=$(p);L u="1.2.5";O.N={1V:4k,1U:\'4E\',1T:1,1j:M,1c:M,1S:M,2s:M,2r:U,3p:4b,12:U,1D:U};O.S={24:\'24\',1Y:\'1Y\',3j:\'3j\',1c:\'1c\',1B:\'1B\',2N:\'2N\',1j:\'1j\',3m:\'3m\',4X:\'3y\',1X:\'1X\',1e:\'1e\'};O.W=1;O.2f=p;O.18=p.30(\'3x\');O.19=p.30(\'3M\');O.3U=1;O.3Z=[];O.43=[];O.1x=U;O.2e=U;L v=4o.4s.3d();O.Q={1F:v.X(/1F/)?M:U,1H:v.X(/1H/)?M:U,2Q:v.X(/1H\\/2/)?M:U,2J:v.X(/1H\\/3\\.0/)?M:U,17:v.X(/17/)?M:U,34:(v.X(/17 6/)&&!v.X(/17 7|8/))?M:U,4q:v.X(/17 7/)?M:U,4r:v.X(/17 8/)?M:U,1Q:v.X(/17 9/)?M:U,2B:(v.X(/17/)&&v.X(/1F/))?M:U,2b:v.X(/2b/)?M:U,29:(v.X(/29/)&&!v.X(/1F/))?M:U};1u(L b 1E O.Q){K(O.Q[b]===M){O.Q.41=b}}K(O.Q.1F===M&&!O.Q.2B){O.Q.1r=v.X(/1F\\/([0-9\\.]+)/)[1]}K(O.Q.1H===M){O.Q.1r=v.X(/1H\\/([0-9\\.]+)/)[1]}K(O.Q.17===M){O.Q.1r=v.X(/17 ([0-9\\.]+)/)[1]}K(O.Q.2b===M){O.Q.1r=v.X(/1r\\/([0-9\\.]+)/)[1]}K(O.Q.29===M){O.Q.1r=v.X(/1r\\/([0-9\\.]+)/)[1]}L w;L x;L y,1m,1t,1o;L z=T(a){K(r.Q.17&&!r.Q.1Q){L b=a.V(\'4F-2Y\');L c=b;K(c=="3s"){b="#3u"}1l{K(c.X(\'#\')){K(c.Y<7){L t="#"+c.1v(1,1)+c.1v(1,1)+c.1v(2,1)+c.1v(2,1)+c.1v(3,1)+c.1v(3,1);b=t}}}b=b.3Y("#","");1w={r:b.1v(0,2),g:b.1v(2,2),b:b.1v(4,2)};L d="#";L e="4i";1u(L k 1E 1w){1w[k]=1a.21(0,(1b(1w[k],16)-1));1w[k]=e.2z((1w[k]-1w[k]%16)/16)+e.2z(1w[k]%16);d+=1w[k]}a.26(\'.\'+r.S.1c).V({\'2D\':\'2E:2F.2H.2I(25=1) 3v(2Y=\'+d+\')\',3w:d})}};L A={1C:"3E"+(1a.2h(1a.2Z()*3X)),2j:"1y:1J !1k;14:"+13+"P !1k;Z:"+2y+"P !1k;2l:2p !1k;2C:0 !1k;2w:2d !1k;4v:4A !1k;4D:1 !1k;1q:0 !1k;z-1c:2G !1k",Z:2y,14:13};L B=T(){K(!1g.3q(A.1C)){L a=1g.1N(\'A\');a.1C=A.1C;a.3t="2K://2L.1I.2P/?53=3z&3A=3B&3C=3D";a.2R="3G";L b=1g.1N(\'3H\');b.3J=(1g.3K.3L=="2T:"?"2T:":"2K:")+"//2L.1I.2P/3N/"+u+"/3O";b.3P="3T 2X 1P&3V;";b.Z=A.Z;b.14=A.14;b.1O="0";a.2q(b);A.11=(p.1i().11+p.14()+5);A.R=p.1i().R+p.Z()-A.Z;L s=1g.1N(\'44\');s.45="48/V";L c=\'#\'+A.1C+\'{11:\'+A.11+\'P;R:\'+A.R+\'P;\'+A.2j+\'}\'+\'#\'+A.1C+\' 49{11:0 !1k;R:0 !1k;\'+A.2j+\'}\';K(s.3a){s.3a.4h=c}1l{s.2q(1g.3c(c))}$(\'4j\').2c(s);K(1a.2Z()<0.5){$(1g.3f).4l(a)}1l{$(1g.3f).2c(a)}$(3b).4m(T(){B()})}A.11=(p.1i().11+p.14()+5);A.R=p.1i().R+p.Z()-A.Z;$(\'#\'+A.1C).V({11:A.11+"P",R:A.R+"P"})};L C=T(){3g=T(){K(r.1x===U){K(r.N.1D===U&&r.W==r.19.Y){r.1x=M}1l{r.1e()}}};3i(3g,r.N.3p)};L D=T(){K($.3k(p.V(\'1y\'),[\'1y\',\'1J\',\'4t\'])){p.V(\'1y\',\'4u\')}p.V(\'2w\',\'2d\');1u(L i=0;i<r.19.Y;i++){L d=$(r.19[i]);K(r.18.Y>i){L e=$(r.18[i])}L f={11:1b(d.V(\'1q-11\'),10),1f:1b(d.V(\'1q-1f\'),10),1p:1b(d.V(\'1q-1p\'),10),R:1b(d.V(\'1q-R\'),10)};L g={11:1b(d.V(\'1O-11-Z\'),10),1f:1b(d.V(\'1O-1f-Z\'),10),1p:1b(d.V(\'1O-1p-Z\'),10),R:1b(d.V(\'1O-R-Z\'),10)};1u(L k 1E g){g[k]=2A(g[k])?0:g[k]}K(i<r.W){K(i==r.W-1){K(r.N.12!==M){e.1d(r.S.1B)}d.1d(r.S.1B)}1i=i*1m;K(r.N.12===M){K(i==r.W-1){1i=0}1l{1i=0-(r.N.1T-i-1)*p.Z()}}}1l{1i=i*1m+1t;K(r.N.12===M){1i=(i+1-r.N.1T)*p.Z()}}r.1t=(1t-f.R-f.1f-g.R-g.1f);d.V({1y:\'1J\',R:1i,28:1,14:(x-f.11-f.1p-g.11-g.1p)+"P",Z:r.1t+"P",2C:0,3r:f.R+1m+"P"}).1d(r.S.24).1d(r.S.24+"2o"+(i+1));K(r.N.12!==M){L h={11:1b(e.V(\'1q-11\'),10),1f:1b(e.V(\'1q-1f\'),10),1p:1b(e.V(\'1q-1p\'),10),R:1b(e.V(\'1q-R\'),10)};1u(L k 1E h){K(h[k]<10&&(k=="R"||k=="1f")){h[k]=10}}L j=h.11+"P "+h.1f+"P "+h.1p+"P "+h.R+"P";L l={1y:\'1J\',28:3,2l:\'2p\',R:1i,Z:(x-h.R-h.1f)+"P",14:y+"P",1q:j,25:\'1Z\',\'-22-1h\':\'1z(1Z)\',\'-22-1h-1K\':1o+\'P 1G\',\'-23-1h\':\'1z(1Z)\',\'-23-1h-1K\':1o+\'P 1G\',\'-o-1h\':\'1z(1Z)\',\'-o-1h-1K\':1o+\'P 1G\',2M:\'1f\'};K(!r.Q.1Q){l.11=(r.Q.17)?0:(x-1o)+"P";l.3F=((r.Q.17)?0:(0-1o))+"P";l.2D=\'2E:2F.2H.2I(25=3)\'}e.V(l).1d(r.S.1Y).1d(r.S.1Y+"2o"+(i+1));K(r.Q.1Q){e[0].1M.2O=\'1z(1Z)\';e[0].1M.3I=1a.2h(1b(p[0].1M.14)/2)+\'P \'+1a.2h(1b(p[0].1M.14)/2)+\'P\'}}1l{K(1n(e)!="27"){e.2g()}}K(i==r.19.Y-1){d.1d(\'2S\');K(r.N.12!==M){e.1d(\'2S\')}}K(r.N.1j===M&&r.N.12===U){L m=1g.1N(\'2U\');m.2V=r.S.1j+\' \'+(r.S.1Y+\'2o\'+(i+1));e.3Q(m);e.1e(\'.\'+r.S.1j).V({1y:\'1J\',11:\'3R\',R:1i+1m+"P",2w:"2d",28:"2G"}).2g();K(e.3S(r.S.1B)){e.1e(\'.\'+r.S.1j).2W()}}K(r.N.12!==M){L n=1g.1N(\'2U\');n.2V=r.S.1c;K(r.N.1c!==U){L o;K(1n(r.N.1c)!=\'2i\'){o=r.N.1c[i%r.N.1c.Y]}1l{o=""+(i+1)}n.2q(1g.3c(o))}e.2c(n);e.26(\'.\'+r.S.1c).V({1y:\'1J\',28:2,2l:\'2p\',Z:y+"P",14:y+"P",2M:\'3W\',1p:((r.Q.17)?0:(0-1o))+"P",R:((r.Q.17)?5:20)+"P",25:"1L",\'-22-1h\':\'1z(1L)\',\'-22-1h-1K\':1o+\'P 1G\',\'-23-1h\':\'1z(1L)\',\'-23-1h-1K\':1o+\'P 1G\',\'-o-1h\':\'1z(1L)\',\'-o-1h-1K\':1o+\'P 1G\'});K(r.Q.1Q){e.26(\'.\'+r.S.1c)[0].1M.2O=\'1z(1L)\'}z(e)}}B();K(r.N.12!==M){r.18.2k(\'40\',T(a){a.1R();r.31(r.18.1c(O)+1)})}K(r.N.2s!==U){$(1g).2k(\'42\',T(a){K($(a.2R).32().1c(r.2f)==-1){K(a.33==39){r.1x=M;r.1e()}1l K(a.33==37){r.1x=M;r.2m()}}})}K(1n($.46.47.35)!="27"){p.2k("35",T(a){K(r.N.1S!==U){L b=a.36?a.36:a.4a;K(r.Q.17||r.Q.29||r.Q.1F){b=0-b}L c=U;K($(a.38).32(r.2f).Y){K($.3k(a.38.4c.3d(),[\'4d\',\'4e\',\'4f\',\'4g\'])!=-1){c=M}}K(c!==M){K(b>0){2n(r.N.1S){15"1W":a.1R();1s;15 M:3e:K(r.W<r.19.Y||r.N.1D==M){a.1R()}1s}r.1x=M;r.1e()}1l{2n(r.N.1S){15"1W":a.1R();1s;15 M:3e:K(r.W!=1||r.N.1D==M){a.1R()}1s}r.1x=M;r.2m()}}}})}$(r.18[r.W-2]).1d(r.S.1X);$(r.18[r.W]).1d(r.S.1e);K(r.N.2r===M){C()}r.2e=M};L E=T(a){a=1a.2a(r.19.Y,1a.21(1,a));1A a};L F=T(a,b){a=E(a);L c=M;K(a<r.W){c=U}L d=[r.S.1B,r.S.1e,r.S.1X].4p(\' \');r.W=a;r.18.3h(d);r.19.3h(d);p.26(\'.\'+r.S.1j).2g();$(r.18[r.W-2]).1d(r.S.1X);$(r.18[r.W]).1d(r.S.1e);1u(L i=0;i<r.19.Y;i++){L e=0;K(r.N.12!==M){L f=$(r.18[i])}L g=$(r.19[i]);K(i<r.W){K(i==(r.W-1)){g.1d(r.S.1B);K(r.N.12!==M){f.1d(r.S.1B);f.1e(\'.\'+r.S.1j).2W()}}e=i*1m}1l{e=i*1m+1t}K(r.N.12===M){e=(i-r.W+1)*p.Z()}L h={2t:r.N.1V,2u:r.N.1U};g.1W().2v({R:e+"P",Z:r.1t+"P"},h);K(r.N.12!==M){z(f);K(f.V(\'R\')!=e+"P"){f.1W().2v({R:e+"P"},{2t:r.N.1V,2u:r.N.1U});f.1e(\'.\'+r.S.1j).1W().2v({R:e+1m+"P"},{2t:r.N.1V,2u:r.N.1U})}}}B()};L G=T(a,b){L c=a;K(1n(a)==="3l"){c={};c[a]=b}1u(L d 1E c){b=c[d];2n(d){15"1V":15"1T":b=4w(b);K(2A(b)){b=r.N[d]}1s;15"1S":15"2s":15"1j":15"12":15"2r":15"1D":K(1n(b)!=="2i"){b=r.N[d]}1s;15"1U":K(1n(b)!=="3l"){b=r.N[d]}1s;15"4x":15"4y":K(1n(b)!=="T"){b=r.N[d]}1s;15"1c":K(1n(b)!=="2i"){K(!$.4z(b)){b=r.N[d]}}1s}r.N[d]=b}};L H=T(){x=p.14();w=p.Z();p.V(\'14\',x+"P");y=0;1m=0;K(r.N.12!==M&&r.18.Y>0){y=$(r.18[0]).14();1m=$(r.18[0]).4B()}1t=w-1m*r.18.Y;K(r.N.12===M){1t=w}1o=1a.4C(y/2)};L I=T(a){K((r.Q.2b&&r.Q.1r<"10.5")||r.Q.34||r.Q.2Q||r.Q.2J){K(1n(2x)!="27"){K(1n(2x.3n)=="T"){2x.3n("4G 4H Q 4I 4J 4K 2X 1P. 4L 4M O 4N 1E a 4O, 4P 4Q Q 4R a W 1r 4S 4T 4U")}}1A U}K(1n(a)!="27"){1u(L b 1E a){r.N[b]=a[b]}}K(r.18.Y<1){r.N.12=M}K(r.N.12===M){r.N.1j=U}r.W=1a.2a(r.19.Y,1a.21(1,r.N.1T));K(p.14()>0){H();D()}1l{L c;c=4V(T(){H();K(p.14()>0){3o(c);H();D()}},20)}};L J=T(a){L b;b=3i(T(){K(r.2e==M){3o(b);a()}},20)};O.4Y=T(a){J(a);1A r};O.1e=T(a){L b=1a.2a(r.19.Y,(r.W+1));K(r.N.1D===M){K(r.W+1>r.19.Y){b=1}}F(b,a);1A r};O.2m=T(a){L b=1a.21(1,(r.W-1));K(r.N.1D===M){K(r.W-1<1){b=r.19.Y}}F(b,a);1A r};O.31=T(a,b){r.1x=M;F(1a.2a(r.19.Y,1a.21(1,a)),b);1A r};O.4Z=T(a,b){G(a,b);1A r};I(q)};$.50.1I=T(a){L b=[];1u(L i=0;i<O.Y;i++){K(!O[i].1I){O[i].1I=51 1P(O[i],a)}b.52(O[i].1I)}1A b.Y>1?b:b[0]}})(4n);',62,314,'||||||||||||||||||||||||||||||||||||||||||||||if|var|true|options|this|px|browser|left|classes|function|false|css|current|match|length|width||top|hideSpines||height|case||msie|spines|slides|Math|parseInt|index|addClass|next|right|document|transform|offset|activeCorner|important|else|spine_outer_width|typeof|spine_half_width|bottom|padding|version|break|slide_width|for|substr|cParts|pauseAutoPlay|position|rotate|return|active|id|cycle|in|chrome|0px|firefox|slidedeck|absolute|origin|90deg|style|createElement|border|SlideDeck|msie9|preventDefault|scroll|start|transition|speed|stop|previous|spine|270deg||max|webkit|moz|slide|rotation|find|undefined|zIndex|safari|min|opera|append|hidden|isLoaded|deck|hide|round|boolean|styles|bind|display|prev|switch|_|block|appendChild|autoPlay|keys|duration|easing|animate|overflow|console|130|charAt|isNaN|chromeFrame|margin|filter|progid|DXImageTransform|20000|Microsoft|BasicImage|firefox30|http|www|textAlign|indicator|msTransform|com|firefox2|target|last|https|DIV|className|show|by|color|random|children|goTo|parents|keyCode|msie6|mousewheel|detail||originalTarget||styleSheet|window|createTextNode|toLowerCase|default|body|gotoNext|removeClass|setInterval|label|inArray|string|disabled|error|clearInterval|autoPlayInterval|getElementById|paddingLeft|transparent|href|ffffff|chroma|backgroundColor|dt|slidesVertical|LiteUser|utm_medium|Link|utm_campaign|SDbug|SlideDeck_Bug|marginLeft|_blank|IMG|msTransformOrigin|src|location|protocol|dd|6885858486f31043e5839c735d99457f045affd0|lite|alt|after|25px|hasClass|Powered|controlTo|trade|center|100000000|replace|session|click|_this|keydown|disabledSlides|STYLE|type|event|special|text|img|wheelDelta|5000|nodeName|input|select|option|textarea|cssText|01234567890ABCDEF|head|500|prepend|resize|jQuery|navigator|join|msie7|msie8|userAgent|fixed|relative|visibility|parseFloat|complete|before|isArray|visible|outerHeight|ceil|opacity|swing|background|This|web|is|not|supported|Please|view|page|modern|CSS3|capable|or|of|Inernet|Explorer|setTimeout|SlideDeckSkin|vertical|loaded|setOption|fn|new|push|utm_source'.split('|'),0,{}))

document.write("<xmp>");


得到输出代码,美化一下,方便阅读 如下:

/**
 * SlideDeck 1.2.5 Lite - 2011-06-01
 * 
 * @param {HTMLObject} el    The <DL> element to extend as a SlideDeck
 * @param {Object} opts        An object to pass custom override options to
 */
var SlideDeck;
var SlideDeckSkin = {};
(function($) {
	window.SlideDeck = function(p, q) {
		var r = this,
			p = $(p);
		var u = "1.2.5";
		this.options = {
			speed: 500,
			transition: 'swing',
			start: 1,
			activeCorner: true,
			index: true,
			scroll: true,
			keys: true,
			autoPlay: false,
			autoPlayInterval: 5000,
			hideSpines: false,
			cycle: false
		};
		this.classes = {
			slide: 'slide',
			spine: 'spine',
			label: 'label',
			index: 'index',
			active: 'active',
			indicator: 'indicator',
			activeCorner: 'activeCorner',
			disabled: 'disabled',
			vertical: 'slidesVertical',
			previous: 'previous',
			next: 'next'
		};
		this.current = 1;
		this.deck = p;
		this.spines = p.children('dt');
		this.slides = p.children('dd');
		this.controlTo = 1;
		this.session = [];
		this.disabledSlides = [];
		this.pauseAutoPlay = false;
		this.isLoaded = false;
		var v = navigator.userAgent.toLowerCase();
		this.browser = {
			chrome: v.match(/chrome/) ? true : false,
			firefox: v.match(/firefox/) ? true : false,
			firefox2: v.match(/firefox\/2/) ? true : false,
			firefox30: v.match(/firefox\/3\.0/) ? true : false,
			msie: v.match(/msie/) ? true : false,
			msie6: (v.match(/msie 6/) && !v.match(/msie 7|8/)) ? true : false,
			msie7: v.match(/msie 7/) ? true : false,
			msie8: v.match(/msie 8/) ? true : false,
			msie9: v.match(/msie 9/) ? true : false,
			chromeFrame: (v.match(/msie/) && v.match(/chrome/)) ? true : false,
			opera: v.match(/opera/) ? true : false,
			safari: (v.match(/safari/) && !v.match(/chrome/)) ? true : false
		};
		for (var b in this.browser) {
			if (this.browser[b] === true) {
				this.browser._this = b
			}
		}
		if (this.browser.chrome === true && !this.browser.chromeFrame) {
			this.browser.version = v.match(/chrome\/([0-9\.]+)/)[1]
		}
		if (this.browser.firefox === true) {
			this.browser.version = v.match(/firefox\/([0-9\.]+)/)[1]
		}
		if (this.browser.msie === true) {
			this.browser.version = v.match(/msie ([0-9\.]+)/)[1]
		}
		if (this.browser.opera === true) {
			this.browser.version = v.match(/version\/([0-9\.]+)/)[1]
		}
		if (this.browser.safari === true) {
			this.browser.version = v.match(/version\/([0-9\.]+)/)[1]
		}
		var w;
		var x;
		var y, spine_outer_width, slide_width, spine_half_width;
		var z = function(a) {
				if (r.browser.msie && !r.browser.msie9) {
					var b = a.css('background-color');
					var c = b;
					if (c == "transparent") {
						b = "#ffffff"
					} else {
						if (c.match('#')) {
							if (c.length < 7) {
								var t = "#" + c.substr(1, 1) + c.substr(1, 1) + c.substr(2, 1) + c.substr(2, 1) + c.substr(3, 1) + c.substr(3, 1);
								b = t
							}
						}
					}
					b = b.replace("#", "");
					cParts = {
						r: b.substr(0, 2),
						g: b.substr(2, 2),
						b: b.substr(4, 2)
					};
					var d = "#";
					var e = "01234567890ABCDEF";
					for (var k in cParts) {
						cParts[k] = Math.max(0, (parseInt(cParts[k], 16) - 1));
						cParts[k] = e.charAt((cParts[k] - cParts[k] % 16) / 16) + e.charAt(cParts[k] % 16);
						d += cParts[k]
					}
					a.find('.' + r.classes.index).css({
						'filter': 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1) chroma(color=' + d + ')',
						backgroundColor: d
					})
				}
			};
		var A = {
			id: "SlideDeck_Bug" + (Math.round(Math.random() * 100000000)),
			styles: "position:absolute !important;height:" + 13 + "px !important;width:" + 130 + "px !important;display:block !important;margin:0 !important;overflow:hidden !important;visibility:visible !important;opacity:1 !important;padding:0 !important;z-index:20000 !important",
			width: 130,
			height: 13
		};
		var B = function() {
				if (!document.getElementById(A.id)) {
					var a = document.createElement('A');
					a.id = A.id;
					a.href = "#";
					a.target = "_blank";
					var b = "";
					
					A.top = (p.offset().top + p.height() + 5);
					A.left = p.offset().left + p.width() - A.width;
					var s = document.createElement('STYLE');
					s.type = "text/css";
					var c = '#' + A.id + '{top:' + A.top + 'px;left:' + A.left + 'px;' + A.styles + '}' + '#' + A.id + ' img{top:0 !important;left:0 !important;' + A.styles + '}';
					if (s.styleSheet) {
						s.styleSheet.cssText = c
					} else {
						s.appendChild(document.createTextNode(c))
					}
					$('head').append(s);
					if (Math.random() < 0.5) {
						$(document.body).prepend(a)
					} else {
						$(document.body).append(a)
					}
					$(window).resize(function() {
						B()
					})
				}
				A.top = (p.offset().top + p.height() + 5);
				A.left = p.offset().left + p.width() - A.width;
				$('#' + A.id).css({
					top: A.top + "px",
					left: A.left + "px"
				})
			};
		var C = function() {
				gotoNext = function() {
					if (r.pauseAutoPlay === false) {
						if (r.options.cycle === false && r.current == r.slides.length) {
							r.pauseAutoPlay = true
						} else {
							r.next()
						}
					}
				};
				setInterval(gotoNext, r.options.autoPlayInterval)
			};
		var D = function() {
				if ($.inArray(p.css('position'), ['position', 'absolute', 'fixed'])) {
					p.css('position', 'relative')
				}
				p.css('overflow', 'hidden');
				for (var i = 0; i < r.slides.length; i++) {
					var d = $(r.slides[i]);
					if (r.spines.length > i) {
						var e = $(r.spines[i])
					}
					var f = {
						top: parseInt(d.css('padding-top'), 10),
						right: parseInt(d.css('padding-right'), 10),
						bottom: parseInt(d.css('padding-bottom'), 10),
						left: parseInt(d.css('padding-left'), 10)
					};
					var g = {
						top: parseInt(d.css('border-top-width'), 10),
						right: parseInt(d.css('border-right-width'), 10),
						bottom: parseInt(d.css('border-bottom-width'), 10),
						left: parseInt(d.css('border-left-width'), 10)
					};
					for (var k in g) {
						g[k] = isNaN(g[k]) ? 0 : g[k]
					}
					if (i < r.current) {
						if (i == r.current - 1) {
							if (r.options.hideSpines !== true) {
								e.addClass(r.classes.active)
							}
							d.addClass(r.classes.active)
						}
						offset = i * spine_outer_width;
						if (r.options.hideSpines === true) {
							if (i == r.current - 1) {
								offset = 0
							} else {
								offset = 0 - (r.options.start - i - 1) * p.width()
							}
						}
					} else {
						offset = i * spine_outer_width + slide_width;
						if (r.options.hideSpines === true) {
							offset = (i + 1 - r.options.start) * p.width()
						}
					}
					r.slide_width = (slide_width - f.left - f.right - g.left - g.right);
					d.css({
						position: 'absolute',
						left: offset,
						zIndex: 1,
						height: (x - f.top - f.bottom - g.top - g.bottom) + "px",
						width: r.slide_width + "px",
						margin: 0,
						paddingLeft: f.left + spine_outer_width + "px"
					}).addClass(r.classes.slide).addClass(r.classes.slide + "_" + (i + 1));
					if (r.options.hideSpines !== true) {
						var h = {
							top: parseInt(e.css('padding-top'), 10),
							right: parseInt(e.css('padding-right'), 10),
							bottom: parseInt(e.css('padding-bottom'), 10),
							left: parseInt(e.css('padding-left'), 10)
						};
						for (var k in h) {
							if (h[k] < 10 && (k == "left" || k == "right")) {
								h[k] = 10
							}
						}
						var j = h.top + "px " + h.right + "px " + h.bottom + "px " + h.left + "px";
						var l = {
							position: 'absolute',
							zIndex: 3,
							display: 'block',
							left: offset,
							width: (x - h.left - h.right) + "px",
							height: y + "px",
							padding: j,
							rotation: '270deg',
							'-webkit-transform': 'rotate(270deg)',
							'-webkit-transform-origin': spine_half_width + 'px 0px',
							'-moz-transform': 'rotate(270deg)',
							'-moz-transform-origin': spine_half_width + 'px 0px',
							'-o-transform': 'rotate(270deg)',
							'-o-transform-origin': spine_half_width + 'px 0px',
							textAlign: 'right'
						};
						if (!r.browser.msie9) {
							l.top = (r.browser.msie) ? 0 : (x - spine_half_width) + "px";
							l.marginLeft = ((r.browser.msie) ? 0 : (0 - spine_half_width)) + "px";
							l.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)'
						}
						e.css(l).addClass(r.classes.spine).addClass(r.classes.spine + "_" + (i + 1));
						if (r.browser.msie9) {
							e[0].style.msTransform = 'rotate(270deg)';
							e[0].style.msTransformOrigin = Math.round(parseInt(p[0].style.height) / 2) + 'px ' + Math.round(parseInt(p[0].style.height) / 2) + 'px'
						}
					} else {
						if (typeof(e) != "undefined") {
							e.hide()
						}
					}
					if (i == r.slides.length - 1) {
						d.addClass('last');
						if (r.options.hideSpines !== true) {
							e.addClass('last')
						}
					}
					if (r.options.activeCorner === true && r.options.hideSpines === false) {
						var m = document.createElement('DIV');
						m.className = r.classes.activeCorner + ' ' + (r.classes.spine + '_' + (i + 1));
						e.after(m);
						e.next('.' + r.classes.activeCorner).css({
							position: 'absolute',
							top: '25px',
							left: offset + spine_outer_width + "px",
							overflow: "hidden",
							zIndex: "20000"
						}).hide();
						if (e.hasClass(r.classes.active)) {
							e.next('.' + r.classes.activeCorner).show()
						}
					}
					if (r.options.hideSpines !== true) {
						var n = document.createElement('DIV');
						n.className = r.classes.index;
						if (r.options.index !== false) {
							var o;
							if (typeof(r.options.index) != 'boolean') {
								o = r.options.index[i % r.options.index.length]
							} else {
								o = "" + (i + 1)
							}
							n.appendChild(document.createTextNode(o))
						}
						e.append(n);
						e.find('.' + r.classes.index).css({
							position: 'absolute',
							zIndex: 2,
							display: 'block',
							width: y + "px",
							height: y + "px",
							textAlign: 'center',
							bottom: ((r.browser.msie) ? 0 : (0 - spine_half_width)) + "px",
							left: ((r.browser.msie) ? 5 : 20) + "px",
							rotation: "90deg",
							'-webkit-transform': 'rotate(90deg)',
							'-webkit-transform-origin': spine_half_width + 'px 0px',
							'-moz-transform': 'rotate(90deg)',
							'-moz-transform-origin': spine_half_width + 'px 0px',
							'-o-transform': 'rotate(90deg)',
							'-o-transform-origin': spine_half_width + 'px 0px'
						});
						if (r.browser.msie9) {
							e.find('.' + r.classes.index)[0].style.msTransform = 'rotate(90deg)'
						}
						z(e)
					}
				}
				B();
				if (r.options.hideSpines !== true) {
					r.spines.bind('click', function(a) {
						a.preventDefault();
						r.goTo(r.spines.index(this) + 1)
					})
				}
				if (r.options.keys !== false) {
					$(document).bind('keydown', function(a) {
						if ($(a.target).parents().index(r.deck) == -1) {
							if (a.keyCode == 39) {
								r.pauseAutoPlay = true;
								r.next()
							} else if (a.keyCode == 37) {
								r.pauseAutoPlay = true;
								r.prev()
							}
						}
					})
				}
				if (typeof($.event.special.mousewheel) != "undefined") {
					p.bind("mousewheel", function(a) {
						if (r.options.scroll !== false) {
							var b = a.detail ? a.detail : a.wheelDelta;
							if (r.browser.msie || r.browser.safari || r.browser.chrome) {
								b = 0 - b
							}
							var c = false;
							if ($(a.originalTarget).parents(r.deck).length) {
								if ($.inArray(a.originalTarget.nodeName.toLowerCase(), ['input', 'select', 'option', 'textarea']) != -1) {
									c = true
								}
							}
							if (c !== true) {
								if (b > 0) {
									switch (r.options.scroll) {
									case "stop":
										a.preventDefault();
										break;
									case true:
									default:
										if (r.current < r.slides.length || r.options.cycle == true) {
											a.preventDefault()
										}
										break
									}
									r.pauseAutoPlay = true;
									r.next()
								} else {
									switch (r.options.scroll) {
									case "stop":
										a.preventDefault();
										break;
									case true:
									default:
										if (r.current != 1 || r.options.cycle == true) {
											a.preventDefault()
										}
										break
									}
									r.pauseAutoPlay = true;
									r.prev()
								}
							}
						}
					})
				}
				$(r.spines[r.current - 2]).addClass(r.classes.previous);
				$(r.spines[r.current]).addClass(r.classes.next);
				if (r.options.autoPlay === true) {
					C()
				}
				r.isLoaded = true
			};
		var E = function(a) {
				a = Math.min(r.slides.length, Math.max(1, a));
				return a
			};
		var F = function(a, b) {
				a = E(a);
				var c = true;
				if (a < r.current) {
					c = false
				}
				var d = [r.classes.active, r.classes.next, r.classes.previous].join(' ');
				r.current = a;
				r.spines.removeClass(d);
				r.slides.removeClass(d);
				p.find('.' + r.classes.activeCorner).hide();
				$(r.spines[r.current - 2]).addClass(r.classes.previous);
				$(r.spines[r.current]).addClass(r.classes.next);
				for (var i = 0; i < r.slides.length; i++) {
					var e = 0;
					if (r.options.hideSpines !== true) {
						var f = $(r.spines[i])
					}
					var g = $(r.slides[i]);
					if (i < r.current) {
						if (i == (r.current - 1)) {
							g.addClass(r.classes.active);
							if (r.options.hideSpines !== true) {
								f.addClass(r.classes.active);
								f.next('.' + r.classes.activeCorner).show()
							}
						}
						e = i * spine_outer_width
					} else {
						e = i * spine_outer_width + slide_width
					}
					if (r.options.hideSpines === true) {
						e = (i - r.current + 1) * p.width()
					}
					var h = {
						duration: r.options.speed,
						easing: r.options.transition
					};
					g.stop().animate({
						left: e + "px",
						width: r.slide_width + "px"
					}, h);
					if (r.options.hideSpines !== true) {
						z(f);
						if (f.css('left') != e + "px") {
							f.stop().animate({
								left: e + "px"
							}, {
								duration: r.options.speed,
								easing: r.options.transition
							});
							f.next('.' + r.classes.activeCorner).stop().animate({
								left: e + spine_outer_width + "px"
							}, {
								duration: r.options.speed,
								easing: r.options.transition
							})
						}
					}
				}
				B()
			};
		var G = function(a, b) {
				var c = a;
				if (typeof(a) === "string") {
					c = {};
					c[a] = b
				}
				for (var d in c) {
					b = c[d];
					switch (d) {
					case "speed":
					case "start":
						b = parseFloat(b);
						if (isNaN(b)) {
							b = r.options[d]
						}
						break;
					case "scroll":
					case "keys":
					case "activeCorner":
					case "hideSpines":
					case "autoPlay":
					case "cycle":
						if (typeof(b) !== "boolean") {
							b = r.options[d]
						}
						break;
					case "transition":
						if (typeof(b) !== "string") {
							b = r.options[d]
						}
						break;
					case "complete":
					case "before":
						if (typeof(b) !== "function") {
							b = r.options[d]
						}
						break;
					case "index":
						if (typeof(b) !== "boolean") {
							if (!$.isArray(b)) {
								b = r.options[d]
							}
						}
						break
					}
					r.options[d] = b
				}
			};
		var H = function() {
				x = p.height();
				w = p.width();
				p.css('height', x + "px");
				y = 0;
				spine_outer_width = 0;
				if (r.options.hideSpines !== true && r.spines.length > 0) {
					y = $(r.spines[0]).height();
					spine_outer_width = $(r.spines[0]).outerHeight()
				}
				slide_width = w - spine_outer_width * r.spines.length;
				if (r.options.hideSpines === true) {
					slide_width = w
				}
				spine_half_width = Math.ceil(y / 2)
			};
		var I = function(a) {
				if ((r.browser.opera && r.browser.version < "10.5") || r.browser.msie6 || r.browser.firefox2 || r.browser.firefox30) {
					if (typeof(console) != "undefined") {
						if (typeof(console.error) == "function") {
							console.error("This web browser is not supported by SlideDeck. Please view this page in a modern, CSS3 capable browser or a current version of Inernet Explorer")
						}
					}
					return false
				}
				if (typeof(a) != "undefined") {
					for (var b in a) {
						r.options[b] = a[b]
					}
				}
				if (r.spines.length < 1) {
					r.options.hideSpines = true
				}
				if (r.options.hideSpines === true) {
					r.options.activeCorner = false
				}
				r.current = Math.min(r.slides.length, Math.max(1, r.options.start));
				if (p.height() > 0) {
					H();
					D()
				} else {
					var c;
					c = setTimeout(function() {
						H();
						if (p.height() > 0) {
							clearInterval(c);
							H();
							D()
						}
					}, 20)
				}
			};
		var J = function(a) {
				var b;
				b = setInterval(function() {
					if (r.isLoaded == true) {
						clearInterval(b);
						a()
					}
				}, 20)
			};
		this.loaded = function(a) {
			J(a);
			return r
		};
		this.next = function(a) {
			var b = Math.min(r.slides.length, (r.current + 1));
			if (r.options.cycle === true) {
				if (r.current + 1 > r.slides.length) {
					b = 1
				}
			}
			F(b, a);
			return r
		};
		this.prev = function(a) {
			var b = Math.max(1, (r.current - 1));
			if (r.options.cycle === true) {
				if (r.current - 1 < 1) {
					b = r.slides.length
				}
			}
			F(b, a);
			return r
		};
		this.goTo = function(a, b) {
			r.pauseAutoPlay = true;
			F(Math.min(r.slides.length, Math.max(1, a)), b);
			return r
		};
		this.setOption = function(a, b) {
			G(a, b);
			return r
		};
		I(q)
	};
	$.fn.slidedeck = function(a) {
		var b = [];
		for (var i = 0; i < this.length; i++) {
			if (!this[i].slidedeck) {
				this[i].slidedeck = new SlideDeck(this[i], a)
			}
			b.push(this[i].slidedeck)
		}
		return b.length > 1 ? b : b[0]
	}
})(jQuery);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值