Google 导航栏,很好玩,我硬是把它抠出来的

来源:互联网 发布:工程计算软件 编辑:程序博客网 时间:2024/04/28 14:27

效果预览地址:http://www.i5school.com/codes/css/g_cn_img/g_cn.html

 

源文件代码如下

html文件(g_cn.html):

  1. <html>
  2. <head>
  3. <title>Google 导航栏,很好玩,我硬是把它抠出来的</title>
  4. <meta http-equiv=content-type content="text/html; charset=gb2312">
  5. </head>
  6. <style type="text/css">
  7. a{ text-decoration:none; verical-align:bottom; COLOR:#444;}
  8. </style>
  9. <body>
  10. <center>
  11. <div id="tb">
  12.         <table cellSpacing=2 cellpadding=3 border=0>
  13.             <tbody>
  14.                 <tr>
  15.                     <td><a href="http://www.i5school.com/video" target=_blank>视频</a></td>
  16.                     <td><a href="http://www.i5school.com/images" target=_blank>图片</a></td>
  17.                     <td><a href="http://www.i5school.com/live" target=_blank>生活</a></td>
  18.                     <td><a href="http://www.i5school.com/map" target=_blank>地图</a></td>
  19.                     <td><a href="http://www.i5school.com/finance" target=_blank>财经</a></td>
  20.                     <td><a href="http://www.i5school.com/translate" target=_blank>翻译<sup style="color:red;">新!</sup></a></td>
  21.                     <td><a href="http://www.i5school.com/guide" target=_blank>网站导航</a></td>
  22.                 </tr>
  23.             </tbody>
  24.         </table>
  25. </div>
  26. </center>
  27. <script>
  28.     window.google={kEI:"UbGVSIeTHov66gPV6pjRCg",kEXPI:"17259,17735,18471,18547,18563,18567",kHL:"zh-CN"};
  29.     google.y={first:[]};
  30.     window.setTimeout(function(){
  31.         var xjs=document.createElement('script');
  32.         xjs.src='p7xhl-NqP_Q.js';
  33.         document.getElementsByTagName('head')[0].appendChild(xjs)},0
  34.     )
  35. </script>
  36. </body>
  37. </html>

javascript文件('p7xhl-NqP_Q.js):

aaaa
  1. (
  2.     function()
  3.     {
  4.         var b=navigator.userAgent.toLowerCase();
  5.         google.isOpera=b.indexOf("opera")!=-1;
  6.         google.isIE=document.all&&b.indexOf("msie")!=-1&&!google.isOpera;
  7.         google.isSafari=b.indexOf("safari")!=-1;
  8.         google.time=function(){return(new Date).getTime()};
  9.         
  10.         window.google.bind=function(a,g,c){
  11.             var d="on"+g;
  12.             if(a.addEventListener)
  13.                 a.addEventListener(g,c,false);
  14.             else if(a.attachEvent)a.attachEvent(d,c);
  15.             else{
  16.                 var h=a[d];
  17.                 a[d]=function(){
  18.                     var e=h.apply(this,arguments),f=c.apply(this,arguments);
  19.                     return e==undefined?f:(f==undefined?e:f&&e)
  20.                 }
  21.             }
  22.         };
  23.     }
  24. )();
  25. (
  26.     function(){
  27.         var k="toolbar_animation_20080715.png",l=52,m=37,n=75,o=100;
  28.         function p(d,c,b,a,e){
  29.             return{url:d,name:c,tooltip:b,color:a,yAdjust:e}
  30.         }
  31.         var q=[p("video","<font size=-1>/u89c6/u9891</font>","video","#54a70d",[2,5]),
  32.         p("images","<font size=-1>/u56fe/u7247</font>","images","#3b79e7",[2,5]),
  33.         p("live","<font size=-1>/u751f/u6d3b</font>","live","#96cfec",[3,7]),
  34.         p("map","<font size=-1>/u5730/u56fe</font>","map","#e8d40f",[4,9]),
  35.         p("finance","<font size=-1>/u8d22/u7ecf</font>","finance","#54c77a",[3,7]),
  36.         p("translate",'<font size=-1>/u7ffb/u8bd1<sup style="color:red;">new!</sup></font>',"translate","#54a70d",[2,5]),
  37.         p("guide","<font size=-1>/u7f51/u7ad9/u5bfc/u822a</font>","guide","#d93c08",[2,5])],r=[];
  38.         function s(d,c){
  39.             while(c&&d!=c)c=c.parentNode;return c==d
  40.         }
  41.         function u(d,c){
  42.             return function(b){
  43.                 b=b||window.event;
  44.                 var a=r[c],e=d=="mouseover",
  45.                 g=b.target||b.srcElement,
  46.                 f=b.relatedTarget||(e?b.fromElement:b.toElement),
  47.                 h=!f||s(a.element,f),i=s(a.element,g);
  48.                 if(e&&!h||!e&&(!f||i&&!h)){
  49.                     var j=a.icon;
  50.                     j.mouseTimeout=window.clearTimeout(j.mouseTimeout);
  51.                     var t=e?1:-1;
  52.                     if(j.b!=t)j.mouseTimeout=window.setTimeout(j.e(t,undefined),e?o/3:o)
  53.                 }
  54.             }
  55.         }
  56.                 
  57.         function v(d,c,b){
  58.             google.bind(d,c,u(c,b))
  59.         }
  60.     
  61.         function w(d,c,b){
  62.             this.c=d;
  63.             var a=document.createElement("div"),e=d.color,
  64.             g="background-color:"+e,
  65.             f="width:1px;height:1px;"+g+";float:",
  66.             h='<div style="height:1px;overflow:hidden"><div style="'+f+'left"></div><div style="'+f+'right"></div></div>',
  67.             i="margin:0 1px;height:1px;overflow:hidden;"+g;
  68.             a.innerHTML='<div style="display:none;position:absolute;top:0;left:0;z-index:2;background:#fff;cursor:pointer;cursor:hand"><a href="'+c+'" style="color:#444;text-decoration:none" target=_blank><div style="'+i+'"></div><div style="text-align:center;border-left:1px solid;border-right:1px solid;border-color:'+e+'">'+h+'<div style="margin:0 auto;white-space:nowrap;padding:.2em 0 0"><font size=-1><span>'+b+"</span></font></div>"+h+'</div><div style="'+i+'"></div><div style="height:4px" align="center"><div style="position:relative;top:-1px;z-index:3;width:8px;overflow:hidden;margin:0 auto;height:4px;background:no-repeat -260px '+-d.spriteCoordinateList[0].y+'px"></div></div></a></div>';
  69.             this.h=a.getElementsByTagName("span")[0];
  70.             document.body.appendChild(a);
  71.             a.firstChild.firstChild.lastChild.firstChild.style.backgroundImage="url("+k+")";
  72.             this.element=a.firstChild;
  73.             var j=r.length;
  74.             r.push({icon:d,element:this.element});
  75.             v(this.element,"mouseover",j);
  76.             v(this.element,"mouseout",j)
  77.         }
  78.     
  79.         w.prototype.play=function(d){
  80.             var c=this.c.element.firstChild,b={left:-c.offsetLeft,top:0};
  81.             while(c){b.left+=c.offsetLeft;b.top+=c.offsetTop;c=c.offsetParent}
  82.             var a=this.element.style;
  83.             if(a.display=="none"){a.visibility="hidden";a.display="block"}
  84.             var e=this.element.offsetHeight,g=this.h.offsetWidth+14;
  85.             if(a.visibility=="hidden"){a.display="none";a.visibility="visible"}
  86.             a.width=g+"px";
  87.             b.left-=(g-this.c.element.parentNode.offsetWidth)/2;
  88.             b.top-=e-3;b.top+=20*Math.pow(1-d/this.c.frames,3);
  89.             a.left=b.left+"px";
  90.             a.top=b.top+"px";
  91.             if(d==0||this.c.b<0)a.display="none";
  92.             else{
  93.                 a.display="";
  94.                 var f=d/this.c.frames;
  95.                 if("opacity"in a)a.opacity=f;
  96.             else if("MozOpacity"in a)a.MozOpacity=f;
  97.             else if("KhtmlOpacity"in a)a.KhtmlOpacity=f;
  98.             else if("filter"in a)a.filter="alpha(opacity="+f*100+")"}
  99.         };
  100.     
  101.         function x(d,c,b,a,e){
  102.             this.element=d;
  103.             this.mouseTimeout=null;
  104.             this.frames=c.length-1;
  105.             this.spriteCoordinateList=c;
  106.             this.color=b;
  107.             this.d=null;
  108.             this.g=d.getElementsByTagName("div")[1];
  109.             this.i=new w(this,a,e);
  110.             this.b=-1;
  111.             this.a=1;
  112.             var g=r.length;
  113.             r.push({icon:this,element:d});
  114.             v(d,"mouseover",g);
  115.             v(d,"mouseout",g)
  116.         }
  117.     
  118.         x.prototype.e=function(d,c){
  119.             var b=this;
  120.             return function(){b.f(d,c)}
  121.         };
  122.     
  123.         x.prototype.f=function(d,c){
  124.             if(d){
  125.                 this.b=d;
  126.                 this.mouseTimeout=window.clearTimeout(this.mouseTimeout);
  127.                 this.d=window.clearTimeout(this.d)
  128.             }
  129.             typeof c!="undefined"&&(this.a=c);
  130.             var b=this.spriteCoordinateList[this.a];
  131.             this.g.style.backgroundPosition=-b.x+"px "+-b.y+"px";
  132.             this.i.play(this.a);
  133.             var a=this.element.getElementsByTagName("font")[0].style;
  134.             if(this.b<0){a.color="#444";a.textDecoration="none"}else{a.color=this.color;a.textDecoration="underline"}
  135.             this.a+=this.b;
  136.             if(this.a>this.frames)this.a=this.frames-1;
  137.             else if(this.a<0)this.a=1;
  138.             else this.d=window.setTimeout(this.e(undefined,undefined),n)
  139.         };
  140.             
  141.         google.y.first.push(function(){
  142.             try{document.execCommand("BackgroundImageCache",false,true)}catch(d){}
  143.             var c='<table style="margin:2em auto;border-collapse:collapse;line-height:1.4em" cellpadding="3" cellspacing="2" border="0"><tr>';
  144.             for(var b=0;b<q.length;++b){
  145.                 var a=q[b];
  146.                 a.url="http://www.i5school.com/"+encodeURIComponent(a.url);
  147.                 var e=[],g=m*b;
  148.                 for(var f=0;f<7;++f)
  149.                     if(f>4)e.push({x:l*4,y:g-a.yAdjust[f-5]});
  150.                     else e.push({x:l*f,y:g});a.coordinates=e;c+='<td valign=bottom style="text-align:center;padding:0 .35em 0 .4em;margin:0;cursor:pointer;cursor:hand"><a style="color:#444;text-decoration:none;vertical-align:bottom" href="'+
  151.     a.url+'" target=_blank><div><div style="width:52px;height:37px;margin:.5em auto;cursor:pointer;cursor:hand;background:no-repeat 0 '+-g+'px"></div><span style="white-space:nowrap">'+a.name+"</span></div></a></td>"
  152.             }
  153.             c+="</tr></table>";
  154.             var h=document.getElementById("tb");
  155.             h.innerHTML=c;
  156.             var i=h.getElementsByTagName("a");
  157.             for(var b=0;b<i.length;++b){
  158.                 i[b].firstChild.firstChild.style.backgroundImage="url("+k+")";
  159.                 new x(i[b],q[b].coordinates,q[b].color,q[b].url,q[b].tooltip)
  160.             }
  161.         });
  162.     }
  163. )();
  164. if(google.y.first){
  165.     for(var a=0,b;b=google.y.first[a];++a)b();
  166.         delete google.y.first
  167. }
  168. for(a in google.y)google.y[a][1]?google.y[a][1].apply(google.y[a][0]):google.y[a][0].go();
  169. google.x=function(d,c){c&&c.apply(d);return false};
还有背景图,google 导航栏背景图