-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathalbumCarousel.min.js
1 lines (1 loc) · 3.82 KB
/
albumCarousel.min.js
1
(function(A){A.fn.extend({albumCarousel:function(a){var n=A.extend({},s,a);return this.each(function(){var y=A(this);function a(a){var n=y.find(".right-slide");var e=n.find(".bd ul");var t=n.find(".prev");var i=n.find(".next");var s=y.find(".left-slide");var r=s.find(".bd ul");var l=s.find(".prev");var f=s.find(".next");var o=s.find(".hd ul");var c=0;var d=null;var u=a.albumData.length;var v=null;var p=0;var m=0;var h=0;var C=parseInt(s.width());function I(){var a="";for(var n=0;n<u;n++){var s=n;a+="<li data-index="+s+"><img src="+albumData[s][0]+' alt="" /></li>'}if(u>4){a+=a}e.html(a);v=e.find("li");p=v.length;m=parseInt(e.outerHeight());h=parseInt(v.outerHeight());if(u>4){A(v[p/2]).addClass("cur-album")}A(v[0]).addClass("cur-album")}function b(){var s=0;t.on("click",function(a){a.stopPropagation();e.finish();var n=0;if(s===0){e.css("top",-m/2+"px");s=parseInt(e.css("top"))}n=s+h;e.animate({top:n+"px"},500,function(){s=parseInt(e.css("top"))})});i.on("click",function(a){a.stopPropagation();e.finish();var n=0;if(s===-m/2){e.css("top",0);s=parseInt(e.css("top"))}n=s-h;e.animate({top:n+"px"},500,function(){s=parseInt(e.css("top"))})})}function x(a){if(p<=4){A(v[0]).addClass("cur-album");v.on("click",function(){c=A(this).data("index");for(var a=0;a<p;a++){A(v[a]).removeClass("cur-album")}A(this).addClass("cur-album");g()});if(a){for(var n=0;n<p;n++){A(v[n]).removeClass("cur-album")}A(v[c]).addClass("cur-album")}}else{v.on("click",function(){c=A(this).data("index");for(var a=0;a<p;a++){A(v[a]).removeClass("cur-album")}for(var a=0;a<p;a++){if(A(v[a]).data("index")===c){A(v[a]).addClass("cur-album")}}e.css("top",-c*h+"px");g()});if(a){var s=parseInt(e.css("top"));if(s===-m/2){e.css("top",0);s=parseInt(e.css("top"))}var t=s-h;e.animate({top:t+"px"},500,function(){s=parseInt(e.css("top"))});for(var n=0;n<p;n++){A(v[n]).removeClass("cur-album")}for(var n=0;n<p;n++){if(A(v[n]).data("index")===c){A(v[n]).addClass("cur-album")}}g()}}}function g(){var a=albumData[c].length;var n="";var s="";r.css("left",0);for(var t=0;t<a;t++){n+="<li data-index="+t+" data-curAlbum="+c+"><img src="+albumData[c][t]+' alt="" /></li>';s+="<li></li>"}n+=n;r.html(n);o.html(s);k();D(o,0);H(o)}function k(){var a=r.find("li");var n=parseInt(A(".left-slide .bd").width());var s=a.length;var t=s*n;var e=parseInt(r.css("left"));var i=0;l.off();f.off();l.on("click",function(){r.finish();if(e===0){r.css("left",-t/2+"px");e=parseInt(r.css("left"))}var a=e+n;r.animate({left:a+"px"},500,function(){e=parseInt(r.css("left"));i=-e/n?-e/n:0;D(o,i)})});f.on("click",function(){r.finish();if(e===-t/2){r.css("left",0);e=parseInt(r.css("left"))}var a=e-n;r.animate({left:a+"px"},500,function(){e=parseInt(r.css("left"));if(-e/n&&-e/n!==s/2){i=-e/n}else if(-e/n===s/2){i=0}else{i=0}D(o,i)})})}function D(a,n){var s=a.find("li");for(var t=0;t<s.length;t++){A(s[t]).removeClass("on")}A(s[n]).addClass("on")}function w(){s.mouseover(function(){if(d){clearInterval(d)}});s.mouseout(function(){H(o)})}function H(n){if(d){clearInterval(d)}d=setInterval(function(){var a=n.find("li").length-Math.abs(parseInt(r.css("left"))/C)-1;if(a>0){a--;M(r);D(n,Math.abs(parseInt(r.css("left"))/C)+1)}else{clearInterval(d);c=c===u-1?0:c+1;g();x("auto")}},a.speed)}function M(a){var n=parseInt(a.css("left"));var s=n-C;a.animate({left:s+"px"},500,function(){n=parseInt(a.css("left"))})}function P(){s.on("mouseover",function(){var a=s.find(".hd ul li").length;if(a===1){l.addClass("hide");f.addClass("hide")}else{l.removeClass("hide");f.removeClass("hide")}});s.on("mouseout",function(){l.addClass("hide");f.addClass("hide")});n.on("mouseover",function(){if(u<=4){t.addClass("hide");i.addClass("hide")}else{t.removeClass("hide");i.removeClass("hide")}});n.on("mouseout",function(){t.addClass("hide");i.addClass("hide")})}function j(){if(u>4){I();b();x();g();w()}else{I();x();g();w()}P()}j()}a(n)})}});var s={albumData:[],speed:3e3}})(jQuery);