jquery最终停止工作

jquery最终停止工作,jquery,Jquery,我正在用下面的脚本制作一个下拉菜单,下拉效果在鼠标悬停前几次时起作用,但随后停止工作,有什么想法吗?谢谢 $(document).ready(function(){ $("ul.topnav li").hover(function() { $(this).children().fadeIn(800); }, function() { $(this).find("ul.subnav").stop().fadeOut(800);

我正在用下面的脚本制作一个下拉菜单,下拉效果在鼠标悬停前几次时起作用,但随后停止工作,有什么想法吗?谢谢

$(document).ready(function(){  

    $("ul.topnav li").hover(function() { 
        $(this).children().fadeIn(800); 
    },
    function() { 
        $(this).find("ul.subnav").stop().fadeOut(800);
    }) 

});  

我认为selecor是错的。如果你在ul.topnav li的孩子中逐渐淡出,那么我猜你想淡出同一个孩子

   $(document).ready(function(){  

      $("ul.topnav > li").hover(function() { 
            $(this).children().fadeIn(800); 
      },
       function() { 
        $(this).children().stop().fadeOut(800);
      }) 

});  

问题是过早中断了
fadeIn
fadeOut
。执行此操作时,项目将获得新的“基线”不透明度
fadeIn
不会淡入不透明度
1
,而是淡入基线(例如,如果您的元素最初的不透明度为.8,而您将其隐藏,
fadeIn
将淡入.8而不是1)

要解决此问题,请使用不透明度为1的
fadeTo
,而不是
fadeIn


编辑:找到了我以前的一个答案,用小提琴作了更全面的解释来说明这个想法

我本来是这样做的,但如果我这样做,整个topnav li项目会消失,并在第一次鼠标移出后完全消失,直到相同的问题原始topnav列表项目和subnav完全消失。有一个指向问题页面的链接:“问题”页面现在似乎正在工作,你能发布你做了什么来修复它吗?我使用了。fadeTo,如下kingjivoh所述。谢谢这听起来像是问题,我注意到它越来越不透明,但我如何设置不透明度,我看不出它好我使用了。fadeTo根据你在前一篇文章中的修复,就像一个百万泰铢的梦