就是当你将鼠标放在 切换城市 上并移开的时候就对显示出来的那个城市层做一个延时隐藏操作<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档 </title> </head> <body > 
<a href="#" onmouseover="document.getElementById('test').style.display='block';" onmouseout="hiddenDiv()">显示城市</a> 
<div id="test" style='background-color:#f4f4f4; width:200px; height:300px;display:none;' >Weitting... </div> <script type="text/Javascript"> 
function hiddenDiv(){
  setTimeout(function(){document.getElementById('test').style.display="none";},1000);
}
</script> 
</body> 
</html> 

解决方案 »

  1.   


    <STYLE type=text/css>
    BODY {
    FONT-SIZE: 12px
    }
    #Layer1 {
    position:absolute;
    width:255px;
    height:127px;
    z-index:1;
    left: 9px;
    top: 38px;
    background-color: #FF0000;
    visibility: hidden;
    }
    </STYLE><SCRIPT type=text/javascript>
    <!--
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }function MM_showHideLayers() { //v6.0
      var i,p,v,obj,args=MM_showHideLayers.arguments;
      for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
        if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
        obj.visibility=v; }
    }
    //-->
    </SCRIPT><META content="MSHTML 6.00.6000.16674" name=GENERATOR></HEAD>
    <BODY><A href="http://www.jiushu8.com/rrr.html#" onMouseOver="MM_showHideLayers('Layer1','','show')">切换城市</A>失去你,拥有世界又如何。 
    <div id="Layer1" onMouseOver="MM_showHideLayers('Layer1','','show')" onMouseOut="MM_showHideLayers('Layer1','','hide')"MM_showHideLayers('Layer1','','hide')">
    <a href="#"><br>
    链接A</a> <a href="#">链接B</a></div>
    简单的说,就是你对css的#和.有点分不清。
      

  2.   

    <STYLE type=text/css>
    BODY {
        FONT-SIZE: 12px
    }
    #Layer1 {
        position:absolute;
        width:255px;
        height:127px;
        z-index:1;
        left: 9px;
        top: 38px;
        background-color: #FF0000;
        visibility: hidden;
    }
    </STYLE><SCRIPT type=text/javascript>
    <!--
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }function MM_showHideLayers() { //v6.0
      var i,p,v,obj,args=MM_showHideLayers.arguments;
      for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
        if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
        obj.visibility=v; }
    }
    //-->
    </SCRIPT><META content="MSHTML 6.00.6000.16674" name=GENERATOR></HEAD>
    <BODY><A href="http://www.jiushu8.com/rrr.html#" onMouseOver="MM_showHideLayers('Layer1','','show')">切换城市</A>失去你,拥有世界又如何。 
    <div id="Layer1" onMouseOver="MM_showHideLayers('Layer1','','show')" onMouseOut="MM_showHideLayers('Layer1','','hide')"MM_showHideLayers('Layer1','','hide')">
    <a href="#"><br>
    链接A</a> <a href="#">链接B</a></div>发错,应该是html。
      

  3.   

    谢谢楼上,但如果我用class,也就是用.也是一样的啊。
      

  4.   

    你原有代码本身没问题。但是css是乱的,定位不到层的对象。你要实现的css效果,完全可以一个层,加个背景图就实现了。