Google韩国首页图标动画效果

  一个蛮漂亮的动画效果。是Google韩国首页上的。

  原版:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

  "http://www.w3.org/TR/html4/loose.dtd">

  <html>

  <head>

  <meta http-equiv="Content-Type" content="text/html;charset=gb2312">

  <title>测试效果</title>

  <style type="text/css">

  <!--

  body {text-align:center}

  table {border:1px solid #eeeeee;padding:3px 0;border-bottom-width:5px}

  .icon td {width:50px;height:37px;background-image:url(http://www.dnew.cn/attachment/1188099824_0.gif)}

  .capt td {font:normal 11px verdana;padding:2px 0}

  .a {background-position-y:0px}

  .b {background-position-y:-37px}

  .c {background-position-y:-74px}

  .d {background-position-y:-111px}

  .e {background-position-y:-148px}

  .f {background-position-y:-185px}

  .g {background-position-y:-222px}

  .f1 {background-position-x:0px}

  .f2 {background-position-x:-51px}

  .f3 {background-position-x:-101px}

  .f4 {background-position-x:-153px}

  .f5 {background-position-x:-205px}

  .f6 {background-position-x:-257px}

  .f7 {background-position-x:-309px}

  -->

  </style>

  <script language="javascript">

  window.onload=function(){

  var tt=document.getElementsByTagName('table')[0];

  var cs=tt.rows[1].cells,ct=tt.rows[0].cells;

  for(var i=0;i<cs.length;i++)

  cssAni(cs[i],ct[i],7);

  }

  function cssAni(osrc,otarget,num,duration){

  var t=null,c=1,d=0,n=0,i=Math.floor((duration||300)/num);

  var s=otarget.className.replace(/.$/,''),r=/over/;

  osrc.onmouseover=osrc.onmouseout=function(e){

  n=r.test((e||event).type)?1:-1;

  if(!t) t=setInterval(function(){

  if((c==1||c==num)&&((d==n||c+n<1)||!(d=n)))

  return clearInterval(t),t=null;

  otarget.className=s+(c+=d);

  },i);

  };

  }

  </script>

  </head>

  <body>

  <table>

  <tr class='icon'>

  <td class='a f1'></td>

  <td class='b f1'></td>

  <td class='c f1'></td>

  <td class='d f1'></td>

  <td class='e f1'></td>

  <td class='f f1'></td>

  <td class='g f1'></td>

  </tr>

  <tr class='capt'>

  <td><a href='#;'>A</a></td>

  <td><a href='#;'>B</a></td>

  <td><a href='#;'>C</a></td>

  <td><a href='#;'>D</a></td>

  <td><a href='#;'>E</a></td>

  <td><a href='#;'>F</a></td>

  <td><a href='#;'>G</a></td>

  </tr>

  </table>

  </body>

  </html>

  DIV版

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

  "http://www.w3.org/TR/html4/loose.dtd">

  <html>

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

  <title>无标题文档</title>

  <style type="text/css">

  <!--

  body {text-align:center}

  div { width:381px; border:1px solid #eeeeee;padding:3px 0;border-bottom-width:5px}

  label {display:block; float:left; width:50px;height:37px;background-image:url(http://www.dnew.cn/attachment/1188099824_0.gif)}

  p { display:block; margin-TOP:-30PX; padding-top:30px; float:left; width:50px; height:auto; font:normal 11px verdana; cursor:pointer;}

  .a {background-position-y:0px}

  .b {background-position-y:-37px}

  .c {background-position-y:-74px}

  .d {background-position-y:-111px}

  .e {background-position-y:-148px}

  .f {background-position-y:-185px}

  .g {background-position-y:-222px}

  .f1 {background-position-x:0px}

  .f2 {background-position-x:-51px}

  .f3 {background-position-x:-101px}

  .f4 {background-position-x:-153px}

  .f5 {background-position-x:-205px}

  .f6 {background-position-x:-257px}

  .f7 {background-position-x:-309px}

  -->

  </style>

  <script language="javascript">

  window.onload=function(){

  var tt=document.getElementsByTagName('div')[0];

  var cs=tt.getElementsByTagName('label'),ct=tt.getElementsByTagName('p');

  for(var i=0;i<cs.length;i++)

  cssAni(ct[i],cs[i],7);

  }

  function cssAni(osrc,otarget,num,duration){

  var t=null,c=1,d=0,n=0,i=Math.floor((duration||300)/num);

  var s=otarget.className.replace(/.$/,''),r=/over/;

  osrc.onmouseover=osrc.onmouseout=function(e){

  n=r.test((e||event).type)?1:-1;

  if(!t) t=setInterval(function(){

  if((c==1||c==num)&&((d==n||c+n<1)||!(d=n)))

  return clearInterval(t),t=null;

  otarget.className=s+(c+=d);

  },i);

  };

  }

  </script>

  </head>

  <body>

  <div>

  <label class='a f1'></label><label class='b f1'></label><label class='c f1'></label><label class='d f1'></label><label class='e f1'></label><label class='f f1'></label><label class='g f1'></label>

  <p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>F</p><p>G</p>

  </div>

  </body>

  </html>