Google的Logo设计师全是疯子---记现代舞先驱玛莎·葛兰姆117周年诞辰
今天google的logo继吃豆游戏之后又一次令我大吃一惊---那帮疯子(Logo设计师们)又用JS+png做出了一段华丽的动画!先来看一下效果(可能您看google主页的时候已经它已经换掉了所以我拷下来一份)!
不知道您是否和我一样感觉google那帮设计师确实是疯子!牢骚至于还是简单说下原理吧,以免哪天您也有点“发疯”的意向也好能用得上。下面贴上主要代码:
原理就是用javascript创建动画的每一帧,用div展示,并加载背景图片,随着每一个Div的创建就会形成一段动画,有点像小时候玩的皮影画(不知道是不是叫这个名字)。 js代码下载:googleDance
1 function () {
2 var a = d[f],
3 c = document.getElementById("hplogo");
4 if (c && a[0]) {
5 var b = document.createElement("div");
6 b.id = "hplogo" + f;
7 b.style.left = a[0] + "px";
8 b.style.top = a[1] + "px";
9 b.style.width = a[2] + "px";
10 b.style.height = a[3] + "px";
11 b.style.background = "url(http://www.front2end.cn/wp-content/uploads/graham11-hp-sprite.png) no-repeat " + -g + "px " + -h + "px";
12 b.onmousedown = k;
13 a[3] > i && (i = a[3]);
14 a[4] ? (g = 0, h += i, i = 0) : g += a[2];
15 c.appendChild(b); ++f;
16 f < e && (j = window.setTimeout(l, 83))
17 }
18 }
2 var a = d[f],
3 c = document.getElementById("hplogo");
4 if (c && a[0]) {
5 var b = document.createElement("div");
6 b.id = "hplogo" + f;
7 b.style.left = a[0] + "px";
8 b.style.top = a[1] + "px";
9 b.style.width = a[2] + "px";
10 b.style.height = a[3] + "px";
11 b.style.background = "url(http://www.front2end.cn/wp-content/uploads/graham11-hp-sprite.png) no-repeat " + -g + "px " + -h + "px";
12 b.onmousedown = k;
13 a[3] > i && (i = a[3]);
14 a[4] ? (g = 0, h += i, i = 0) : g += a[2];
15 c.appendChild(b); ++f;
16 f < e && (j = window.setTimeout(l, 83))
17 }
18 }