terryoee 发表于 2010-12-3 00:41

jquery问题

页面代码:
<!-- navigation START -->
    <div id="navigation">
    <!-- menus START -->
    <div id="navcontainer">
    <ul id="navlist">
      <li>1</li>
                ....................
    </ul>
    </div>
    <!-- menus END -->
    <div class="fixed"></div>
    </div>
    <!-- navigation END -->
jquery代码
$(document).ready(function() {
    $("#navigation").hide()
});
var mouseover_tid = [];
var mouseout_tid= [];   
$(document).ready(function(){
   $("#header").hover(
      function(){
          clearTimeout(mouseout_tid);   
          mouseover_tid = setTimeout(function(){
            $("#navigation").slideDown() ;
            },600);
          },
      function(){
          clearTimeout(mouseover_tid);
          mouseout_tid=setTimeout(function(){
          $("#navigation").slideUp();
            },600);   
      }
      )
});
就是想让鼠标滑过head的时候显示navigation,为了防止每次滑过head都执行,本来想
控制鼠标停留在head超过600ms才显示
代码是抄自网上,本人很菜~也没学过Javascript
一个人搞了很久都不行,发现添加变量之后就不能执行slide的效果了
有无高手能指导下,万分感谢。

normanzb 发表于 2010-12-3 02:08


      var timerNav = null;
      var header = $('#header');
      var nav = $('#navigator');
      header.live('mouseover', function(){
            if (timerNav) clearTimeout(timerNav);
            
            timerNav = setTimeout(function(){
                nav.show();
            }, 600)
      }).live('mouseout', function(){
            clearTimeout(timerNav);
            timerNav = null;
      });


js基础很重要,如果你想当个合格的水泥工的话。
页: [1]
查看完整版本: jquery问题