本帖最后由 df_zzr 于 2011-03-22 23:46:54 编辑

解决方案 »

  1.   

    就只要划过更多的时候延迟0.5秒
    其他的li元素不要..
    li元素可以在增加字体变色不?
      

  2.   

    不知道 楼主要什么效果function show()  
     { var tag = document.getElementById("milk")  
     if (tag.style.display=="none") { tag.style.display = "block" }}  
     document.onclick = function(e){ var e = e||window.event,t = e.target||e.srcElement;
      if(t.innerHTML=='更多') return;
      document.getElementById("milk").style.display = "none"; }  
     window.onload=function(){
     var lis = document.getElementById("milk").getElementsByTagName("li");
     for(var i=0;i<lis.length;i++)
    {  lis[i].onmouseover=function(){this.style.backgroundColor='#52BFF5';
    this.style.color='red';};
    lis[i].onmouseout=function(){
    this.style.backgroundColor='white';
    this.style.color='black';
     }; 

     };<span class="mir" onMouseOver="setTimeout(show,500)">更多</span> 
      

  3.   


    <span class="mir" onmouseout='window.myMouseover.stopshow();' onMouseOver="show()">更多</span>
    window.myMouseover ={   //添加一个全局标志位
        stopshow:function(){if(this.state)this.state.stop=true;}
    };  function show(){ 
         var state=window.myMouseover.state={};
         state.stop=false;
        setTimeout(function(){
         if(!state.stop)
         var tag = document.getElementById("milk")  
         if (tag.style.display=="none") { tag.style.display = "block" }}  
     document.onclick = function(e){ var e = e||window.event,t = e.target||e.srcElement;
      if(t.innerHTML=='更多') return;
      document.getElementById("milk").style.display = "none"; }  
     window.onload=function(){
     var lis = document.getElementById("milk").getElementsByTagName("li");
     for(var i=0;i<lis.length;i++)
    {  
    lis[i].onmouseover=function(){
    this.style.backgroundColor='#52BFF5';
    }
    lis[i].onmouseout=function(){
    this.style.backgroundColor='white';
     } } 
    },1000*0.5);};
      

  4.   

    兄弟啊,,,你这个代码排的也太乱了啊
    我咋一看以为你是一个完整的 show()函数呢
    我改下给你
      

  5.   

    <!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>12345</title>
    <style type="text/css">
    .mir{
    font-size: 14px;
    color: #999900;
    text-decoration: none;
    position: absolute;
    left: 522px;
    top: 126px;
    padding: 0px;
    display: block;
    width: 72px;
    height: 19px;
    }
    .mu{
    width: 55px;
    position: absolute;
    margin: 0px;
    z-index: 100;
    left: 610px;
    top: 129px;
    height: 150px;
    list-style-type: none;
    }
    .mu li{
    height: 20px;
    width: 55px;
    border: 1px solid #003399;
    font-size: 13px;
    line-height: 20px;
    margin-top: 2px;
    }
    </style>
    </head><body>
    <span class="mir" onmouseout='window.myMouseover.stopshow();' onMouseOver="show()">更多</span>
    <ul class="mu" id="milk" style="display: none">
    <li id="ss1" onClick="setTab('ss',1,5)">111</li>
    <li id="ss2" onClick="setTab('ss',2,5)">222</li>
    <li id="ss3" onClick="setTab('ss',3,5)">333</li>
    <li id="ss4" onClick="setTab('ss',4,5)">444</li>
    <li id="ss5" onClick="setTab('ss',5,5)">555</li><ul>
    </body>
    <script type='text/javascript'>
    window.myMouseover ={ //添加一个全局标志位
      stopshow:function(){if(this.state)this.state.stop=true;}
    };   function show()   { 
    var state=window.myMouseover.state={stop:false};
    setTimeout(function(){
    if(!state.stop){
     var tag = document.getElementById("milk")  
     if (tag.style.display=="none") { tag.style.display = "block" }
     }
     },1000*0.5); }  
     
     document.onclick = function(e){ var e = e||window.event,t = e.target||e.srcElement;
      if(t.innerHTML=='更多') return;
      document.getElementById("milk").style.display = "none"; }  
     window.onload=function(){
     var lis = document.getElementById("milk").getElementsByTagName("li");
     for(var i=0;i<lis.length;i++)
    {  
    lis[i].onmouseover=function(){
    this.style.backgroundColor='#52BFF5';
    }
    lis[i].onmouseout=function(){
    this.style.backgroundColor='white';
     } } };</script>
    </html>
      

  6.   

    此帖思路在http://topic.csdn.net/u/20110322/22/bca7da2c-12c4-4cd4-8b83-c6c1ce685c79.html
    你现在的代码太长了...看下那个帖,帮我精简。
      

  7.   

    别人就kk = setTimeout(function,500)搞定了
    你的怎么这么长
      

  8.   

    这么多,我直接用onClick了。省得麻烦