外贸建站之导航栏NAV菜单监听JS处理代码

外贸建站之导航栏NAV菜单监听JS处理代码

 1 var persistclose=1 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
 2 var startX = 30 //set x offset of bar in pixels
 3 var startY = 5 //set y offset of bar in pixels
 4 var verticalpos="fromtop" //enter "fromtop" or "frombottom"
 5 
 6 function iecompattest(){
 7 return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
 8 }
 9 
10 function get_cookie(Name) {
11 var search = Name + "="
12 var returnvalue = "";
13 if (document.cookie.length > 0) {
14 offset = document.cookie.indexOf(search)
15 if (offset != -1) {
16 offset += search.length
17 end = document.cookie.indexOf(";", offset);
18 if (end == -1) end = document.cookie.length;
19 returnvalue=unescape(document.cookie.substring(offset, end))
20 }
21 }
22 return returnvalue;
23 }
24 
25 function closebar(){
26 if (persistclose)
27 document.cookie="remainclosed=1"
28 document.getElementById("topbar").style.visibility="hidden"
29 }
30 
31 function staticbar(){
32         barheight=document.getElementById("topbar").offsetHeight
33         var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
34         var d = document;
35         function ml(id){
36                 var el=d.getElementById(id);
37                 if (!persistclose || persistclose && get_cookie("remainclosed")=="")
38                 el.style.visibility="visible"
39                 if(d.layers)el.style=el;
40                 el.sP=function(x,y){this.style.right=x+"px";this.style.top=y+"px";};
41                 el.x = startX;
42                 if (verticalpos=="fromtop")
43                 el.y = startY;
44                 else{
45                 el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
46                 el.y -= startY;
47                 }
48                 return el;
49         }
50         window.stayTopLeft=function(){
51                 if (verticalpos=="fromtop"){
52                 var pY = ns ? pageYOffset : iecompattest().scrollTop;
53                 ftlObj.y += (pY + startY - ftlObj.y)/8;
54                 }
55                 else{
56                 var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
57                 ftlObj.y += (pY - startY - ftlObj.y)/8;
58                 }
59                 ftlObj.sP(ftlObj.x, ftlObj.y);
60                 setTimeout("stayTopLeft()", 10);
61         }
62         ftlObj = ml("topbar");
63  stayTopLeft();
64 }
65 
66 if (window.addEventListener)
67 window.addEventListener("load", staticbar, false)
68 else if (window.attachEvent)
69 window.attachEvent("onload", staticbar)
70 else if (document.getElementById)
71 window.onload=staticbar

改代码是非常成熟的组件了,我们在开发Renault CAN Clip项目中有用到,使用也非常简单,这里发出来给大家参考。

猜你喜欢

转载自www.cnblogs.com/aid12580/p/10666531.html