Google韩国首页图标动画效果


Posted in Javascript onAugust 26, 2007

一个蛮漂亮的动画效果。是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>

Javascript 相关文章推荐
一个js控制的导航菜单实例代码
Dec 03 Javascript
JavaSript中变量的作用域闭包的深入理解
May 12 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
深入理解ES6 Promise 扩展always方法
Sep 26 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
Feb 22 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 Javascript
详解Next.js页面渲染的优化方案
Jan 27 Javascript
JS中call()和apply()的功能及用法实例分析
Jun 28 Javascript
js仿淘宝放大镜效果
Dec 28 Javascript
javascript在一段文字中的光标处插入其他文字
Aug 26 #Javascript
有一段有意思的代码-javascript现实多行信息
Aug 26 #Javascript
LBS blog sql注射漏洞[All version]-官方已有补丁
Aug 26 #Javascript
javascript下操作css的float属性的特殊写法
Aug 22 #Javascript
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 #Javascript
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
Aug 21 #Javascript
lib.utf.js
Aug 21 #Javascript
You might like
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
Python中的ctime()方法使用教程
2015/05/22 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
django 环境变量配置过程详解
2019/08/06 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
母亲节演讲稿范文
2014/01/02 职场文书
草船借箭教学反思
2014/02/03 职场文书
考博专家推荐信
2014/05/10 职场文书
委托书怎样写
2014/08/30 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
实习生个人总结范文
2015/02/28 职场文书
《法国号》教学反思
2016/02/22 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL