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 相关文章推荐
javascript动画效果类封装代码
Aug 28 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
Apr 10 Javascript
JavaScript截取字符串的2个函数介绍
Aug 27 Javascript
详解JS正则replace的使用方法
Mar 06 Javascript
JavaScript如何实现跨域请求
Aug 05 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
Javascript Function.prototype.bind详细分析
Dec 29 Javascript
JavaScrpt的面向对象全面解析
May 09 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
Nov 10 Javascript
ios中视频的最后一桢问题解决
May 14 Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 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
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
php GUID生成函数和类
2014/03/10 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
Safari5中alert的无限循环BUG
2011/04/07 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
vue检测对象和数组的变化分析
2018/06/30 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
2019/12/11 Python
pycharm安装及如何导入numpy
2020/04/03 Python
Selenium 安装和简单使用的实现
2020/12/04 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
道路运输企业安全生产责任书
2014/07/28 职场文书
人力资源管理求职信
2014/08/07 职场文书
2014年服务员工作总结
2014/11/18 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
KTV员工管理制度
2015/08/06 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android