Created
December 23, 2011 14:34
-
-
Save pyrocat101/1514362 to your computer and use it in GitHub Desktop.
豆瓣电影2011彩蛋脚本
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Do.ready("tmpl", "share", function () { | |
| var f = $("body"), | |
| b = f.attr("data-cover").split(","), | |
| h = 0, | |
| a = $("#summary-2011"), | |
| d = $("#summary-hd"), | |
| g = $("#summary-bd"), | |
| c = $("#summary-ft"); | |
| $.fn.resortMovie = function () { | |
| $(this).one("click", function (m) { | |
| var k = $("li:not(.hide)").index($(this)), | |
| l = $(m.target), | |
| j = b[k]; | |
| l.removeClass("cursor").animate({ | |
| opacity: "0" | |
| }, 300, function () { | |
| l.css({ | |
| background: 'url("' + j + '") repeat 0 0' | |
| }).animate({ | |
| opacity: "1" | |
| }, 300, function () { | |
| h += 1; | |
| if (h === 33) { | |
| setTimeout(function () {}, 500) | |
| } | |
| }) | |
| }) | |
| }) | |
| }; | |
| function i() { | |
| var q = $("li:not(.hide)"), | |
| m = q.length, | |
| o = [], | |
| k = [], | |
| j = [], | |
| n; | |
| for (n = 0; n < m; n++) { | |
| o.push(n); | |
| k.push(n); | |
| j.push(n) | |
| } | |
| o.sort(function () { | |
| return 0.5 - Math.random() | |
| }); | |
| k.sort(function () { | |
| return 0.5 - Math.random() | |
| }); | |
| j.sort(function () { | |
| return 0.5 - Math.random() | |
| }); | |
| function p() { | |
| if (o.length) { | |
| var u = o.pop(), | |
| t = j.pop(), | |
| r = b[u]; | |
| $(q.get(t)).css({ | |
| background: 'url("' + r + '") repeat 0 0' | |
| }).fadeIn("slow").delay(200).fadeOut("slow") | |
| } else { | |
| clearInterval(l); | |
| var s = setInterval(function () { | |
| if (k.length) { | |
| u = k.pop(); | |
| $(q.get(u)).fadeIn("slow") | |
| } else { | |
| clearInterval(s); | |
| var v = [function () { | |
| $("#decimal").animate({ | |
| marginLeft: "-=68" | |
| }, 200, w) | |
| }, function () { | |
| $("#unit").animate({ | |
| marginLeft: "-=68" | |
| }, 200, w) | |
| }, function () { | |
| $("#hundred").animate({ | |
| marginLeft: "+=68" | |
| }, 200, w) | |
| }, function () { | |
| $("#summary-2011").animate({ | |
| width: "-=68" | |
| }, 200, w) | |
| }, function () { | |
| setTimeout(function () { | |
| if (b.length < 15) { | |
| c.empty().append('<p style="font-size:24px;">你今年看的电影也太少了吧</p>') | |
| } | |
| c.animate({ | |
| opacity: 1 | |
| }, 400, function () { | |
| c.find(".text").animate({ | |
| opacity: 1 | |
| }, 200, function () { | |
| setTimeout(function () { | |
| c.find("strong").animate({ | |
| opacity: 1 | |
| }, 2000, function () { | |
| setTimeout(function () { | |
| if (c.find(".tags").length) { | |
| c.find(".tags").animate({ | |
| opacity: "1" | |
| }, 2000, function () { | |
| setTimeout(function () { | |
| $("#you-are-the-apple-of-my-eye").fadeIn("1000"); | |
| $("#the-da-vinci-code").focus() | |
| }, 1000) | |
| }) | |
| } else { | |
| setTimeout(function () { | |
| $("#you-are-the-apple-of-my-eye").fadeIn("1000"); | |
| $("#the-da-vinci-code").focus() | |
| }, 1000) | |
| } | |
| }, 1000) | |
| }) | |
| }, 1000) | |
| }) | |
| }) | |
| }, 600) | |
| }], | |
| w = function () { | |
| setTimeout(function () { | |
| d.dequeue("anims") | |
| }, 200) | |
| }; | |
| d.queue("anims", v); | |
| w() | |
| } | |
| }, 200) | |
| } | |
| } | |
| var l = setInterval(p, 200) | |
| } | |
| function e() { | |
| var k = $("#number-tmpl-zero").tmpl({ | |
| id: "hundred" | |
| }), | |
| o = $("#number-tmpl-one").tmpl({ | |
| id: "decimal" | |
| }), | |
| j = $("#number-tmpl-one").tmpl({ | |
| id: "unit" | |
| }), | |
| m = $("#number-tmpl-two").tmpl({ | |
| id: "thousand" | |
| }), | |
| l = 0; | |
| var p = [function () { | |
| d.append(m).append(k).append(o).append(j).fadeIn(function () { | |
| setTimeout(i, 500) | |
| }) | |
| }], | |
| n = function () { | |
| setTimeout(function () { | |
| d.empty(); | |
| a.dequeue("animations") | |
| }, 600) | |
| }; | |
| a.queue("animations", p); | |
| n() | |
| } | |
| $("#the-da-vinci-code").bind("click", function () { | |
| var j = $("#star-trek"); | |
| if (!j.hasClass("expand")) { | |
| j.addClass("expand").animate({ | |
| height: "460", | |
| marginTop: "-460", | |
| opacity: ".9" | |
| }, 500, function () { | |
| $("#paul").html(""); | |
| $("#the-da-vinci-code").focus() | |
| }) | |
| } | |
| return false | |
| }).bind("keyup", function (q) { | |
| var r = $("li:not(.hide)"), | |
| o = $("#star-trek"), | |
| n = $("#paul"), | |
| s = $("#you-are-the-apple-of-my-eye"); | |
| if (q.keyCode === 13) { | |
| var m = $.trim($(this).val().replace(/ /g, "")).toLowerCase(), | |
| j = ["christophernolan", "woodyallen", "davidlynch", "peterjackson", "ericrohmer", "alejandrogonzáleziñárritu", "darrenaronofsky", "timburton", "pedroalmodóvar", "侯孝贤", "李安", "黑泽明", "徐克", "堤幸彦", "岩井俊二", "宫崎骏"]; | |
| if ($.inArray(m, j) > 0) { | |
| m = "inception" | |
| } | |
| switch (m) { | |
| case "sort": | |
| o.animate({ | |
| height: "20", | |
| marginTop: "0" | |
| }, 200, function () { | |
| $(this).removeClass("expand"); | |
| r.addClass("cursor").resortMovie() | |
| }); | |
| break; | |
| case "2012": | |
| n.html('<p>如果你有10亿欧元,可以去 <a href="http://movie.douban.com/subject/1292000/">搏击俱乐部</a> 处兑换参赛门票一张。如果你能打赢一场的话,说不定可以拿到船票。</p>'); | |
| break; | |
| case "exit": | |
| n.empty(); | |
| o.removeClass("expand").animate({ | |
| marginTop: "0" | |
| }, 200); | |
| break; | |
| case "iseedeadpeople": | |
| o.animate({ | |
| marginTop: "0" | |
| }, 200, function () { | |
| var t = [], | |
| u; | |
| $(this).removeClass("expand"); | |
| r.addClass("cursor").resortMovie(); | |
| for (u = 0; u < 33; u++) { | |
| t.push(u) | |
| } | |
| t.sort(function () { | |
| return 0.5 - Math.random() | |
| }); | |
| var v = setInterval(function () { | |
| if (t.length) { | |
| u = t.pop(); | |
| $(r.get(u)).click() | |
| } else { | |
| clearInterval(v) | |
| } | |
| }, 200) | |
| }); | |
| break; | |
| case "inception": | |
| function p() { | |
| var u = [function () { | |
| a.show("600", t); | |
| c.find("p").hide(); | |
| $(document).unbind() | |
| }, function () { | |
| var v = $('<div id="see-u-2012"><h3>2012</h3><p>你还能看几部电影?</p></div>'); | |
| g.append(v).show("600", t) | |
| }, function () { | |
| g.animate({ | |
| opacity: "1", | |
| height: "450" | |
| }, 3000, t) | |
| }, function () { | |
| setTimeout(function () { | |
| $("#source-code").fadeIn("slow") | |
| }, 1000) | |
| }], | |
| t = function () { | |
| g.dequeue("animations") | |
| }; | |
| g.queue("animations", u); | |
| setTimeout(t, 1000) | |
| } | |
| function l(A, t, B) { | |
| var u = A.length, | |
| x = t + B > u ? u : t + B, | |
| v = $('<div id="comments"></div>'), | |
| y; | |
| if (t >= x || x - t < B / 2) { | |
| p(); | |
| return | |
| } | |
| for (y = t; y < x; y++) { | |
| var z = A[y]; | |
| v.append(z) | |
| } | |
| $("body").append(v).css({ | |
| opacity: "1" | |
| }); | |
| var w = [function () { | |
| v.animate({ | |
| opacity: "1" | |
| }, 3000, C) | |
| }, function () { | |
| setTimeout(function () { | |
| v.animate({ | |
| opacity: "0" | |
| }, 3000, C) | |
| }, 600) | |
| }, function () { | |
| setTimeout(function () { | |
| $("#comments").remove(); | |
| l(A, x, 10) | |
| }, 600) | |
| }], | |
| C = function () { | |
| f.dequeue("animation") | |
| }; | |
| f.queue("animation", w); | |
| C() | |
| } | |
| var k = []; | |
| $.get("/j/final2011_comment", function (t) { | |
| $.each(t, function (w, u) { | |
| var y = { | |
| comment: u[2], | |
| star: u[0], | |
| date: u[1].split(" ")[0], | |
| movie: w | |
| }, | |
| x = $("#comment-tmpl").tmpl(y); | |
| k.push(x) | |
| }); | |
| if (k.length < 10) { | |
| n.html("显然,你的对白不够多。"); | |
| return | |
| } | |
| $("#the-da-vinci-code").blur(); | |
| s.remove(); | |
| o.removeClass("expand").animate({ | |
| marginTop: "0" | |
| }, 200, function () { | |
| o.remove(); | |
| c.find(".text, strong, .tags").animate({ | |
| opacity: "0" | |
| }, 500); | |
| d.animate({ | |
| opacity: "0" | |
| }, 500, function () { | |
| var u = k.length; | |
| d.empty(); | |
| a.hide(); | |
| l(k, 0, 10) | |
| }) | |
| }) | |
| }); | |
| break; | |
| default: | |
| n.html("Who is the good movie's daddy?") | |
| } | |
| $(this).val("") | |
| } | |
| }); | |
| $(document).bind("click", function (j) { | |
| if (!$(j.target).parent("#star-trek").length) { | |
| $("#paul").empty(); | |
| $("#the-da-vinci-code").val(""); | |
| $("#star-trek").stop().removeClass("expand").animate({ | |
| height: "20", | |
| marginTop: "0" | |
| }, 500) | |
| } | |
| }); | |
| setTimeout(e, 500); | |
| $("#the-da-vinci-code").val("") | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment