$(document).ready(function(){
$(".hmain").hover(function(){
         $(this).children("ul").fadeIn("fast");
$(this).children("ul").fadeTo("slow",0.8);
},function(){
$(this).children("ul").fadeOut("fast");
});
});请问如何,设置鼠标在上面停留1秒后才执行。不到1秒就不显示。

解决方案 »

  1.   

    $(document).ready(function(){
        var t;
        $(".hmain").hover(function(){
                 t = window.setTimeout(s, 1000);
                 function s(){
                     $(this).children("ul").fadeIn("fast");
                     $(this).children("ul").fadeTo("slow",0.8);
                 }
            },function(){
            clearTimeout(t);
            $(this).children("ul").fadeOut("fast");
        });
    });
      

  2.   

    window.setTimeout(你的函数名,1000);
      

  3.   

    $(document).ready(function(){
        $(".hmain").hover(function(){
               var _self = this;
               _self.s = setTimeout(function(){
                 $(_self).children("ul").fadeIn("fast");
                 $(_self).children("ul").fadeTo("slow",0.8);
                 _self.ex = 1;
                 clearTimeout(_self.s);
               },1000);
            },function(){
               var _self = this;
               if(_self.s){
                   clearTimeout(_self.s);
                   delete _self.s;
               }
               if(!!_self.ex)$(this).children("ul").fadeOut("fast",function(){_self.ex=0;});
        });
    });
      

  4.   

    jQ会自己调用each方法吗?
    我不太常用。
    如果jQ不会自己调用each方法那你这个还需要修改。。
      

  5.   


    能稍微解释一下吗?比如为什么定义_self,还有后面一个function的内容看了不是很明白
      

  6.   

    _self就是$(".hmain")对象,开始没注意到,试试行吗
    $(document).ready(function(){
      var t;
      $(".hmain").hover(function(){
      t = window.setTimeout(function(){s.call(this);}, 1000);
      function s(){
      $(this).children("ul").fadeIn("fast");
      $(this).children("ul").fadeTo("slow",0.8);
      }
      },function(){
      clearTimeout(t);
      $(this).children("ul").fadeOut("fast");
      });
    });
      

  7.   


    <!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=utf-8" />
    <title>菜单</title>
    <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript" src="select.js"></script>
    <style type="text/css">
    *{padding:0px;margin:0px;}
    ul{list-style:none}
    a{text-decoration:none;}
    .hmain{color:#FFF; background-image: url(images/title.gif); background-repeat: repeat-x; width:150px;}
    .hmain a{color:#FFF;}
    .hmain ul li a{color:red}
    .hmain ul{display:none;}
    .hmain ul{background-color:#000;}
    .hmain{float:left}
    </style>
    </head><body>
    <ul>
    <li class="hmain"><a href="#">主菜单一</a>
    <ul>
    <li><a href="#">second_menu1</a></li>
    <li><a href="#">second_menu2</a></li>
    <li><a href="#">second_menu3</a></li>
    <li><a href="#">second_menu4</a></li>
    </ul>
    </li>
    <li class="hmain"><a href="#">主菜单二</a>
    <ul>
    <li><a href="#">second_menu5</a></li>
    <li><a href="#">second_menu6</a></li>
    <li><a href="#">second_menu7</a></li>
    <li><a href="#">second_menu8</a></li>
    </ul>
    </li>
    <li class="hmain"><a href="#">主菜单三</a>
    <ul>
    <li><a href="#">second_menu9</a></li>
    <li><a href="#">second_menu10</a></li>
    <li><a href="#">second_menu11</a></li>
    <li><a href="#">second_menu12</a></li>
    </ul>
    </li>
    </ul>
    </body>
    </html>这是html文件,下面是我一开始写的js$(document).ready(function(){
                function show(){
                    alert("弹出框就可以执行");
                    //$(this).children("ul").fadeIn(10);
    //$(this).children("ul").fadeTo("slow",0.8);
                });
                    $(".hmain").hover(function(){
    t=setTimeout(show,800);
            },function(){
    clearTimeout(t)
    //$(this).children("ul").fadeOut("slow");
    });
    });
    执行alert正常,一换成注释里面的内容了,就不显示了。
    3楼的可以用。不过不太理解。
      

  8.   

    var that = this,t = window.setTimeout(function(){s.call(that);}, 1000);
    改下7#,看看这个,我理解的不深阿!
      

  9.   

    .hmain ul{display:none;}干嘛都设置成none