flyout.js
上传用户:zhihaomold
上传日期:2007-04-17
资源大小:43041k
文件大小:4k
源码类别:

其他

开发平台:

Objective-C

  1. function browserDetect()  {
  2. ns4 = (document.layers)&&(navigator.appName=="Netscape")&&(parseInt(navigator.appVersion)==4) ? 'ns4' : false;
  3. ie4 = (document.all)&&(navigator.appName.indexOf("Microsoft") > -1)&&(parseInt(navigator.appVersion)==4) ? 'ie4' : false;
  4. ie5 = (document.getElementById)&&(navigator.appName.indexOf("Microsoft") > -1) ? 'ie5' : false;
  5. ns6 = (document.getElementById)&&(navigator.appName=="Netscape")&&(parseInt(navigator.appVersion)>4) ? 'ns6' : false;
  6. op5 = (document.getElementById)&&(navigator.appName=="Opera")&&(parseInt(navigator.appVersion)>4) ? 'op5' : false;
  7. return (ns4 || ie5 || ie4 || ns6 || op5);
  8. }
  9. var browser = browserDetect();
  10. function myDOM(id)  {
  11. if (browser == 'ns4')  {return document.layers[id];}
  12. if (browser == 'ie4')  {return eval('document.all.'+ id);}
  13. if (browser == 'ie5')  {return document.getElementById(id);}
  14. if (browser == 'ns6')  {return document.getElementById(id);}
  15. if (browser == 'op5')  {return document.getElementById(id);}
  16. return false;
  17. }
  18. function getStyle(id)  {
  19. if (browser == 'ns4')  
  20.         {return myDOM(id);}
  21. if ((browser == 'ie4') || (browser == 'ie5') || (browser == 'ns6') || (browser == 'op5'))  
  22.         {return myDOM(id).style;}
  23. }
  24. var xConst=0;
  25. var yConst=0;
  26. var imageName='';
  27. function initName(strImgName){
  28.     imageName = strImgName;
  29. }
  30. function initPosition() {
  31.     imageObject = myDOM(imageName);
  32.     if( imageObject.offsetParent ) {
  33.         for( var posX = 0, posY = 0; imageObject.offsetParent; imageObject = imageObject.offsetParent ) {
  34.             posX += imageObject.offsetLeft;
  35.             posY += imageObject.offsetTop;
  36.         }
  37.         xConst = posX;
  38.         yConst = posY;
  39.     } else {
  40.         xConst = imageObject.x;
  41.         yConst = imageObject.y;
  42.     }
  43. }
  44. function showMenuOn(index,inst,eventObject,flag,center,xpos,ypos)  {
  45.     eventObject.offsetParent=document;
  46.     if (document.layers){
  47.         tempnav = 'l_'+'subnav' + index;
  48.         if(inst > 0){
  49.             tempnav = 'l_'+'subnav' + index +'inst'+inst;
  50.         }                
  51.         if(myDOM(tempnav)){
  52.             if(flag == "true"){
  53.                 if(center == 'false'){
  54.                     getStyle(tempnav).left = eventObject.pageX; 
  55.                     getStyle(tempnav).top = eventObject.pageY;
  56.                 } else {
  57.                     initPosition();
  58.                     getStyle(tempnav).left = xConst + xpos;
  59.                     getStyle(tempnav).top = yConst + ypos;
  60.                 }
  61.             }
  62.             getStyle(tempnav).visibility = 'show';
  63.         }
  64.     } else {
  65.         tempnav = 'd_'+'subnav' + index;
  66.         if(inst > 0){
  67.       tempnav = 'd_'+'subnav' + index +'inst'+inst;
  68. }
  69.         if(myDOM(tempnav))  {
  70.             if(flag == "true"){     
  71.                 if(center == 'false'){
  72.            if(window.navigator.appName=="Netscape"){
  73.              getStyle(tempnav).left = eventObject.pageX; 
  74.              getStyle(tempnav).top = eventObject.pageY;
  75.            } else {
  76.                   getStyle(tempnav).left = eventObject.x; 
  77.                 getStyle(tempnav).top = eventObject.y + document.body.scrollTop;
  78.            }
  79.         } else {       
  80.             initPosition();
  81.                     getStyle(tempnav).left = xConst + xpos;
  82.                     getStyle(tempnav).top = yConst + ypos;
  83.                 }        
  84.     }
  85.     getStyle(tempnav).visibility = 'visible';
  86. }
  87.     }
  88. }
  89. function showMenuOff(index,inst)  
  90. {
  91.    if (document.layers)  {
  92.    tempnav = 'l_'+'subnav' + index;
  93.    if(inst > 0)
  94.    {
  95.      tempnav = 'l_'+'subnav' + index +'inst'+inst;
  96.    }   
  97.    getStyle(tempnav).visibility = 'hide';
  98.    } else {   
  99.    tempnav = 'd_'+'subnav' + index;
  100.    if(inst > 0)
  101.    {
  102.      tempnav = 'd_'+'subnav' + index +'inst'+inst;
  103.    }   
  104.    getStyle(tempnav).visibility = 'hidden';
  105.    }   
  106. }
  107. function showMenuOffNS(index,inst)  
  108. {
  109.    if (document.layers)  {
  110.    tempnav = 'l_'+'subnav' + index;
  111.    if(inst > 0)
  112.    {
  113.      tempnav = 'l_'+'subnav' + index +'inst'+inst;
  114.    }   
  115.    getStyle(tempnav).visibility = 'hide';
  116.    } else if(browser == "ns6" ){   
  117.    tempnav = 'd_'+'subnav' + index;
  118.    if(inst > 0)
  119.    {
  120.      tempnav = 'd_'+'subnav' + index +'inst'+inst;
  121.    }   
  122.    getStyle(tempnav).visibility = 'hidden';
  123.    }   
  124. }