jquery 事件 没有执行完 然后迅速离开再进入 第二次的事件就不会走了  有解决方案吗 。            $("#menu>ul>li").hover(function () {
             $("#menu ul.menu .current .menuone").css("background-position", "right -59px");           });
            $("#menu>ul").mouseleave(function () {                setTimeout(function () { $("#menu ul.menu .current .menuone").css("background-position", "right -194px"); $("#menu>ul>li.current a span.menuone").css("color", "#DC291E"); }, 220);
            });jqueryjavascript

解决方案 »

  1.   

    试试,加了清除定时器var tir=0;
    $("#menu>ul>li").hover(
      function () {
         clearTimeout(tir);
        $("#menu ul.menu .current .menuone").css("background-position", "right -59px");
      },
      function () {
       tir=setTimeout(function () { $("#menu ul.menu .current .menuone").css("background-position", "right -194px"); $("#menu>ul>li.current a span.menuone").css("color", "#DC291E"); }, 220);
      }
    );
      

  2.   


    hover是给mouseover和mouseout都绑定事件,你要的是这个效果吗,现在你相当于绑定了两个mouseleave事件,试试这样
    var timer;
    clearTimeout(timer);
    $("#menu>ul>li").mouseenter(function () {
                 $("#menu ul.menu .current .menuone").css("background-position", "right -59px");
     
               });
                $("#menu>ul").mouseleave(function () {
     
                    timer = setTimeout(function () { $("#menu ul.menu .current .menuone").css("background-position", "right -194px"); $("#menu>ul>li.current a span.menuone").css("color", "#DC291E"); }, 220);
                });