山寨版的google首页动画
一直以来,我都认为google首页搜索栏下动画效果是flash,直到某天师傅告诉我利用CSS实现图片切换的时候,我才体会到有如此简单优雅的方法实现动画,现在借用这个例子来测试在博客园中实现JS的demo.
如果你能看到上面的动画效果,那么我成功了~貌似很简单,但是回想整个过程可真是有血有泪~
1. 博客园的编辑器会过滤掉部分的标签,例如这里总是把我的span标签过滤掉,害我抓狂了N久.....
2. 发表文章中的JS不能调用外部(例如在页首html代码中添加Jquery)的Jquery文件.....只有在文章中添加了Jqeury的压缩源码,有更好的办法麻烦告诉我一下~
3. 最后言归正传,我转一个Jquery版的google首页动画代码~(我google搜得,然后稍微修改了一下,呵呵)
1
<ul id="nav">
2
<li id="info_1"><a href="#"><span> </span>视频</a> </li>
3
<li id="info_2"><a href="#"><span> </span>图片</a> </li>
4
<li id="info_3"><a href="#"><span> </span>生活</a> </li>
5
<li id="info_4"><a href="#"><span> </span>地图</a> </li>
6
<li id="info_5"><a href="#"><span> </span>财经</a> </li>
7
</ul>
8
<p> </p>
9
<p> </p>
10
<style type="text/css">
11
*{padding:0;margin:0;}
12
#nav{margin:0 auto;width:440px;clear:both;overflow:hidden;padding-left:15px;}
13
#nav li{padding:15px 0;width:52px;float:left;text-align:center;margin-right:10px;list-style:none;}
14
#nav li a{display:block;cursor:pointer;color:#333;text-decoration:none;}
15
#nav li a span{background:url(http://www.google.cn/intl/zh-CN/images/toolbar_animation_20090216.png) no-repeat;display:block;width:52px;height:37px;margin-bottom:15px;}
16
#nav li a:hover{text-decoration:underline;}
17
#nav li#info_1 a:hover{color:#54a70d;}
18
#nav li#info_2 a:hover{color:#3c78e6;}
19
#nav li#info_3 a:hover{color:#96cfec;}
20
#nav li#info_4 a:hover{color:#e8d50f;}
21
#nav li#info_5 a:hover{color:#ea4f4b;}
22
#nav li#info_1 a span{background-position:0 0;}
23
#nav li#info_2 a span{background-position:0 -37px;}
24
#nav li#info_3 a span{background-position:0 -74px;}
25
#nav li#info_4 a span{background-position:0 -111px;}
26
#nav li#info_5 a span{background-position:0 -148px;}
27
</style>
28
<script language="javascript">
29
$(document).ready(function(){
30
$("ul li a").each(function(index){
31
$(this).hover(function(){
32
onBg(index+1,0);
33
},
34
function(){
35
onBg(index+1,1);
36
});
37
});
38
})
39
40
function navScrollBg(i,index,flag) {
41
var a=[0,52,104,156,208];
42
var spans = $("#info_" + index).find("span");
43
if(flag == 0){
44
spans.css("background-position",(0 - a[i]) + "px" + " " + (0-((index-1)*37)) +"px");
45
}
46
else{
47
a.sort(function(b,c){return c-b;});
48
spans.css("background-position",(0 - a[i]) + "px" + " " + (0-((index-1)*37)) +"px");
49
}
50
}
51
function onBg(index,flag){
52
for(var i=0; i<5; i++){
53
setTimeout("navScrollBg(" + i + "," + index +","+flag+")",60 * i);
54
}
55
}
56
</script>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
注意的是,如果需要在博客中展示,需要把span全部替换为div,添加Jquery的压缩源码。最好还要注意给div添加一个class,对应地修改$("ul li a.classname"),因为在页面中有多个$("ul li a")存在。