function pcnNavInit(){ 
var arrNav=document.getElementById("nav").getElementsByTagName("a"); 
for (var i=0;i <arrNav.length;i++ ) { 
arrNav[i].onmouseover=function(){ 
pcnNav(this); 
}
arrNav[i].onmouseout=funtion(){
hidPcnNav(this);
}

解决方案 »

  1.   

    写错了  日arrNav[i].onmouseout=function(){
    hidPcnNav(this);
      

  2.   

    地址是www.55ip.cn 菜单就是这样的....
      

  3.   

    function $(s) { 
      return document.getElementById(s)?document.getElementById(s):s; 

    function findPosX(obj) 

      var curleft = 0; 
      if (obj.offsetParent) 
      { 
        while (obj.offsetParent) 
        { 
          curleft += obj.offsetLeft 
          obj = obj.offsetParent; 
        } 
      } 
      else if (obj.x) 
        curleft += obj.x; 
      return curleft; 

    function findPosY(obj) 

      var curtop = 0; 
      if (obj.offsetParent) 
      { 
        while (obj.offsetParent) 
        { 
          curtop += obj.offsetTop 
          obj = obj.offsetParent; 
        } 
      } 
      else if (obj.y) 
        curtop += obj.y; 
      return curtop; 

    var currPcnNav=null; 
    function pcnNav(o){ 
    var offLeft = findPosX(o); 
    var offTop = findPosY(o); 
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul"); 
    if (currPcnNav!=null) { 
       hidPcnNav(currPcnNav); 

    if (o.getAttribute("urn")!="null") { 
    shwPcnNav($(o.getAttribute("urn")),offLeft); 
    currPcnNav=$(o.getAttribute("urn")); 
    document.body.onmouseup=function(){ 
    hidPcnNav(currPcnNav); 

    } else { 
         currPcnNav?hidPcnNav(currPcnNav):""; 


    function shwPcnNav(o,n){ 
    o.style.display=""; 
    o.style.left=n+"px"; 

    function hidPcnNav(o){ 
    o.style.display="none"; 
    document.body.onmouseup=null; 

    function pcnNavInit(){ 
    var arrNav=document.getElementById("nav").getElementsByTagName("a"); 
    for (var i=0;i <arrNav.length;i++ ) { 
    arrNav[i].onmouseover=function(){ 
    pcnNav(this); 

    arrNav[i].onmouseout=function(){ 
    hidPcnNav(this);



      

  4.   

    大哥 我现在把 www.55ip.cn照你给的代码 改你了 你看看现在是啥样吧  .....
      

  5.   

    function $(s) { 
      return document.getElementById(s)?document.getElementById(s):s; 

    function findPosX(obj) 

      var curleft = 0; 
      if (obj.offsetParent) 
      { 
        while (obj.offsetParent) 
        { 
          curleft += obj.offsetLeft 
          obj = obj.offsetParent; 
        } 
      } 
      else if (obj.x) 
        curleft += obj.x; 
      return curleft; 

    function findPosY(obj) 

      var curtop = 0; 
      if (obj.offsetParent) 
      { 
        while (obj.offsetParent) 
        { 
          curtop += obj.offsetTop 
          obj = obj.offsetParent; 
        } 
      } 
      else if (obj.y) 
        curtop += obj.y; 
      return curtop; 

    var currPcnNav=null; 
    function pcnNav(o){ 
    var offLeft = findPosX(o); 
    var offTop = findPosY(o); 
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul"); 
    if (currPcnNav!=null) { 
       hidPcnNav(currPcnNav); 

    if (o.getAttribute("urn")!="null") { 
    shwPcnNav($(o.getAttribute("urn")),offLeft); 
    currPcnNav=$(o.getAttribute("urn")); 
    document.body.onmouseover=function(){ hidPcnNav(currPcnNav); 

    } else { 
         currPcnNav?hidPcnNav(currPcnNav):""; 


    function shwPcnNav(o,n){ 
    o.style.display=""; 
    o.style.left=n+"px"; 

    function hidPcnNav(o){ 
    o.style.display="none"; 
    document.body.onmouseover=null; 
    function pcnNavInit(){ 
    var arrNav=document.getElementById("nav").getElementsByTagName("a"); 
    for (var i=0;i <arrNav.length;i++ ) { 
    arrNav[i].onmouseover=function(){ 
    pcnNav(this); 



      

  6.   

    现在用的是楼上的代码 其结果..... www.55ip.cn
      

  7.   

    你用的几楼的,我下载你的js里面还是up
      

  8.   

    function $(s) {  
      return document.getElementById(s)?document.getElementById(s):s;  
    }  
    function findPosX(obj)  
    {  
      var curleft = 0;  
      if (obj.offsetParent)  
      {  
        while (obj.offsetParent)  
        {  
          curleft += obj.offsetLeft  
          obj = obj.offsetParent;  
        }  
      }  
      else if (obj.x)  
        curleft += obj.x;  
      return curleft;  
    }  
    function findPosY(obj)  
    {  
      var curtop = 0;  
      if (obj.offsetParent)  
      {  
        while (obj.offsetParent)  
        {  
          curtop += obj.offsetTop  
          obj = obj.offsetParent;  
        }  
      }  
      else if (obj.y)  
        curtop += obj.y;  
      return curtop;  
    }  
    var currPcnNav=null;  
    function pcnNav(o){  
    var offLeft = findPosX(o);  
    var offTop = findPosY(o);  
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul");  
    if (currPcnNav!=null) {  
       hidPcnNav(currPcnNav);  
    }  
    if (o.getAttribute("urn")!="null") {  
    shwPcnNav($(o.getAttribute("urn")),offLeft);  
    currPcnNav=$(o.getAttribute("urn"));  
    document.body.onmouseup=function(){  
    hidPcnNav(currPcnNav);  
    }  
    } else {  
         currPcnNav?hidPcnNav(currPcnNav):"";  
    }  
    }  
    function shwPcnNav(o,n){  
    o.style.display="";  
    o.style.left=n+"px";  
    }  
    function hidPcnNav(o){  
    o.style.display="none";  
    document.body.onmouseup=null;  
    }  
    function pcnNavInit(){  
    var arrNav=document.getElementById("nav").getElementsByTagName("a");  
    for (var i=0;i  <arrNav.length;i++ ) {  
    arrNav[i].onmouseover=function(){  
    pcnNav(this);  
    }  
    arrNav[i].onmouseout=function(){  
    pcnNav(this); 
    }  
    }  
    }  
    最后一次 ,没法测试偶也是菜鸟,原谅一下
      

  9.   

    用的是myvicy 发的 请去www.55ip.cn 看效果 横条 菜单 保留到15:40 谢谢啦 
      

  10.   

    http://www.55ip.cn/Include/head.js
    请把你的这个文件下载下来看看里面的内容。根本就没更改。
      

  11.   

    document.body.onmouseup=function(){   
    hidPcnNav(currPcnNav);   
    }   
    //这个代码表示当鼠标在文档的body中单击时才隐藏菜单
    function hidPcnNav(o){   
    o.style.display="none";   
    document.body.onmouseup=null;   //因为菜单已经隐藏了所以该事件清空
    }   改过后的代码:document.body.onmouseover=function(){   
    hidPcnNav(currPcnNav);   
    }   
    //这个代码表示当鼠标在文档的body中移动时就隐藏菜单
    function hidPcnNav(o){   
    o.style.display="none";   
    document.body.onmouseover=null;   //因为菜单已经隐藏了所以该事件清空
    }   
      

  12.   

    var currPcnNav=null;  
    var canhide=true;
    function pcnNav(o){  
    var offLeft = findPosX(o);  
    var offTop = findPosY(o);  
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul");  
    if (currPcnNav!=null) {  
       hidPcnNav(currPcnNav);  
    }  
    if (o.getAttribute("urn")!="null") {  
    shwPcnNav($(o.getAttribute("urn")),offLeft);  
    currPcnNav=$(o.getAttribute("urn"));  
    document.body.onmouseover=function(){
     if(canhide) hidPcnNav(currPcnNav);  
    }  
    } else {  
         currPcnNav?hidPcnNav(currPcnNav):"";  
    }  
    }  
    function shwPcnNav(o,n){  
    o.style.display="";  
    o.style.left=n+"px";  
    }  
    function hidPcnNav(o){  
    o.style.display="none";  
    document.body.onmouseover=null; }  
    function pcnNavInit(){  
    var arrNav=document.getElementById("nav").getElementsByTagName("a");  
    for (var i=0;i  <arrNav.length;i++ ) {  
    arrNav[i].onmouseover=function(){  
    canhide=false;
    pcnNav(this);  
    }  
    arrNav[i].onmouseover=function(){  
    canhide=true
    }  }  
    }  
    在最后把这个换上试试
      

  13.   

    现在 改过了 但是 下拉菜单出不来了.... 
    www.55ip.cnfunction $(s) {
      return document.getElementById(s)?document.getElementById(s):s;
    }
    function findPosX(obj)
    {
      var curleft = 0;
      if (obj.offsetParent)
      {
        while (obj.offsetParent)
        {
          curleft += obj.offsetLeft
          obj = obj.offsetParent;
        }
      }
      else if (obj.x)
        curleft += obj.x;
      return curleft;
    }
    function findPosY(obj)
    {
      var curtop = 0;
      if (obj.offsetParent)
      {
        while (obj.offsetParent)
        {
          curtop += obj.offsetTop
          obj = obj.offsetParent;
        }
      }
      else if (obj.y)
        curtop += obj.y;
      return curtop;
    }
    var currPcnNav=null;
    function pcnNav(o){
    var offLeft = findPosX(o);
    var offTop = findPosY(o);
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul");
    if (currPcnNav!=null) {
       hidPcnNav(currPcnNav);
    }
    if (o.getAttribute("urn")!="null") {
    shwPcnNav($(o.getAttribute("urn")),offLeft);
    currPcnNav=$(o.getAttribute("urn"));
    document.body.onmouseover=function(){    
    hidPcnNav(currPcnNav);     } else {
         currPcnNav?hidPcnNav(currPcnNav):"";
    }
    }
    function shwPcnNav(o,n){
    o.style.display="";
    o.style.left=n+"px";
    }
    function hidPcnNav(o){    
    o.style.display="none";    
    document.body.onmouseover=null;  
    }    
    }    }
    function pcnNavInit(){
    var arrNav=document.getElementById("nav").getElementsByTagName("a");
    for (var i=0;i<arrNav.length;i++ ) {
    arrNav[i].onmouseover=function(){
    pcnNav(this);
    }
    }
    }
      

  14.   

    菜单不出哦...function $(s) {
      return document.getElementById(s)?document.getElementById(s):s;
    }
    function findPosX(obj)
    {
      var curleft = 0;
      if (obj.offsetParent)
      {
        while (obj.offsetParent)
        {
          curleft += obj.offsetLeft
          obj = obj.offsetParent;
        }
      }
      else if (obj.x)
        curleft += obj.x;
      return curleft;
    }
    function findPosY(obj)
    {
      var curtop = 0;
      if (obj.offsetParent)
      {
        while (obj.offsetParent)
        {
          curtop += obj.offsetTop
          obj = obj.offsetParent;
        }
      }
      else if (obj.y)
        curtop += obj.y;
      return curtop;
    }
    var currPcnNav=null;   
    var canhide=true; 
    function pcnNav(o){   
    var offLeft = findPosX(o);   
    var offTop = findPosY(o);   
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul");   
    if (currPcnNav!=null) {   
       hidPcnNav(currPcnNav);   
    }   
    if (o.getAttribute("urn")!="null") {   
    shwPcnNav($(o.getAttribute("urn")),offLeft);   
    currPcnNav=$(o.getAttribute("urn"));   
    document.body.onmouseover=function(){ 
     if(canhide) hidPcnNav(currPcnNav);   
    }   
    } else {   
         currPcnNav?hidPcnNav(currPcnNav):"";   
    }   
    }   
    function shwPcnNav(o,n){   
    o.style.display="";   
    o.style.left=n+"px";   
    }   
    function hidPcnNav(o){   
    o.style.display="none";   
    document.body.onmouseover=null; }   
    function pcnNavInit(){   
    var arrNav=document.getElementById("nav").getElementsByTagName("a");   
    for (var i=0;i   <arrNav.length;i++ ) {   
    arrNav[i].onmouseover=function(){   
    canhide=false; 
    pcnNav(this);   
    }   
    arrNav[i].onmouseover=function(){   
    canhide=true 
    }   
    }   
    }   
      

  15.   

    function $(s) {
      return document.getElementById(s)?document.getElementById(s):s;
    }
    function findPosX(obj)
    {
      var curleft = 0;
      if (obj.offsetParent)
      {
        while (obj.offsetParent)
        {
          curleft += obj.offsetLeft
          obj = obj.offsetParent;
        }
      }
      else if (obj.x)
        curleft += obj.x;
      return curleft;
    }
    function findPosY(obj)
    {
      var curtop = 0;
      if (obj.offsetParent)
      {
        while (obj.offsetParent)
        {
          curtop += obj.offsetTop
          obj = obj.offsetParent;
        }
      }
      else if (obj.y)
        curtop += obj.y;
      return curtop;
    }
    var currPcnNav=null;   
    var canhide=false; 
    function pcnNav(o){   
    var offLeft = findPosX(o);   
    var offTop = findPosY(o);   
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul");   
    if (currPcnNav!=null) {   
       hidPcnNav(currPcnNav);   
    }   
    if (o.getAttribute("urn")!="null") {   
    shwPcnNav($(o.getAttribute("urn")),offLeft);   
    currPcnNav=$(o.getAttribute("urn"));   
    document.body.onmouseover=function(){ 
     if(canhide) hidPcnNav(currPcnNav);   
    }   
    } else {   
         currPcnNav?hidPcnNav(currPcnNav):"";   
    }   
    }   
    function shwPcnNav(o,n){   
    o.style.display="";   
    o.style.left=n+"px";   
    }   
    function hidPcnNav(o){   
    o.style.display="none";   
    document.body.onmouseover=null; }   
    function pcnNavInit(){   
    var arrNav=document.getElementById("nav").getElementsByTagName("a");   
    for (var i=0;i   <arrNav.length;i++ ) {   
    arrNav[i].onmouseover=function(){   
    canhide=false; 
    pcnNav(this);   
    }     
    }   
    }   现在变成 点网页其他地方 菜单也不消失了 鼠标 移走还不消失.... 详细 www.55ip.cn
      

  16.   

    最后一个函数你也没按照上面的改啊。
    function pcnNavInit(){   
    var arrNav=document.getElementById("nav").getElementsByTagName("a");   
    for (var i=0;i   <arrNav.length;i++ ) {   
    arrNav[i].onmouseover=function(){   
    canhide=false; 
    pcnNav(this);   
    }   
    arrNav[i].onmouseout=function(){   
    canhide=true 
    }   }   
      

  17.   

    你给每个字菜单的mouseover和mouseout都加上canhide的赋值,并且在body的mouseover的事件里对隐藏子菜单做延时。
      

  18.   

    function $(s) {  
      return document.getElementById(s)?document.getElementById(s):s;  
    }  
    function findPosX(obj)  
    {  
      var curleft = 0;  
      if (obj.offsetParent)  
      {  
        while (obj.offsetParent)  
        {  
          curleft += obj.offsetLeft  
          obj = obj.offsetParent;  
        }  
      }  
      else if (obj.x)  
        curleft += obj.x;  
      return curleft;  
    }  
    function findPosY(obj)  
    {  
      var curtop = 0;  
      if (obj.offsetParent)  
      {  
        while (obj.offsetParent)  
        {  
          curtop += obj.offsetTop  
          obj = obj.offsetParent;  
        }  
      }  
      else if (obj.y)  
        curtop += obj.y;  
      return curtop;  
    }  
    var currPcnNav=null;  
    function pcnNav(o){  
    var offLeft = findPosX(o);  
    var offTop = findPosY(o);  
    var arrNav=document.getElementById("subNav").getElementsByTagName("ul");  
    if (currPcnNav!=null) {  
       hidPcnNav(currPcnNav);  
    }  
    if (o.getAttribute("urn")!="null") {  
    shwPcnNav($(o.getAttribute("urn")),offLeft);  
    currPcnNav=$(o.getAttribute("urn"));  
    document.body.onmouseover=function(){ hidPcnNav(currPcnNav);  
    }  
    } else {  
         currPcnNav?hidPcnNav(currPcnNav):"";  
    }  
    }  
    function shwPcnNav(o,n){  
    o.style.display="";  
    o.style.left=n+"px";  
    }  
    function hidPcnNav(o){  
    o.style.display="none";  
    document.body.onmouseover=null; }  
    function pcnNavInit(){  
    var arrNav=document.getElementById("nav").getElementsByTagName("a");  
    for (var i=0;i  <arrNav.length;i++ ) {  
    arrNav[i].onmouseover=function(){  
    pcnNav(this);  
    }  
    }  
    }  
      

  19.   

    x-bs.com 里的菜单直接拿来用好了,直接修改下样式就没问题了
      

  20.   

    这个菜单 我挂在网上了 www.55ip.cn