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 读取xml,写入xml 实现代码
Jul 10 Javascript
jquery 清空file域示例(兼容个浏览器)
Oct 11 Javascript
创建js对象和js类的方法汇总
Dec 24 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
Oct 28 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
EasyUI学习之Combobox下拉列表(1)
Dec 29 Javascript
AngularJS表格样式简单设置方法示例
Mar 03 Javascript
vuex中使用对象展开运算符的示例
Sep 25 Javascript
解决vue打包css文件中背景图片的路径问题
Sep 03 Javascript
JavaScript实现原型封装轮播图
Dec 27 Javascript
ajax jquery实现页面某一个div的刷新效果
Mar 04 jQuery
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遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
限制文本字节数js代码
2007/03/06 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
js实现查询商品案例
2020/07/22 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
sublime text 3配置使用python操作方法
2017/06/11 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
python 实现list或string按指定分段
2019/12/25 Python
Python原始套接字编程实例解析
2020/01/29 Python
python如何实现递归转非递归
2021/02/25 Python
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
请介绍一下Ant
2016/07/22 面试题
幼儿园中班开学寄语
2014/04/03 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书