当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Google韩国首页图标动画效果

Javascript
非常厉害的javascript 实现指针式时间
文档处理系列——随时更新
用javascript实现文本框和"选择"按扭之间的间距
使用户点击后退按钮使效三行代码
Javascript 个人笔记(没有整理,很乱)
建议大家看下JavaScript重要知识更新
javascript实现操作cookie实现的可记忆菜单
javascript下for循环用法小结
一个快速添加标签的小玩意,但在FF下不能用,望高手指点
HTML中事件触发列表与解说
极品源码:自动完成 仿163篇
doctype后如何获得body.clientHeight的方法
用javascript调出windows色版的代码
js实现的网页颜色代码表全集
javascript实现爱你在FF IE下都有效的添加一个项目
js实现用滚动条来放大缩小图片的代码
javascript实现unicode和字符的互相转换
符合W3C网页标准的iframe标签的使用方法
firefox下javascript实现高亮关键词的方法
用javascript实现读取txt文档的脚本

Javascript 中的 Google韩国首页图标动画效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 150 ::
收藏到网摘: n/a

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