$().hover(
  function(){},//鼠标经过的状态
  function(){}//鼠标离开的状态
)

解决方案 »

  1.   

    有2中方法。
    1.设置hover延时。就是hover了0.几秒才弹出菜单。网上有hover延时插件。主要是setTimeout和clearTimeOut。再把握好this的传入。
    2.菜单收回时不要用动画,直接消失。这种最方便。
      

  2.   


     $( this ).siblings().children( 'div' ).stop();改为 $( this ).siblings().children( 'div' ).hide();
    试试呢
      

  3.   

    睡前大致看了下,首先你的css写的有些乱,多看下规范或者随便找找前端面试题看看css的书写顺序就好,尽量写的严谨写吧,不然容易出bug. js既然你已经用了hover感觉没必要写mouseleave了吧,hover方法可以传两个函数的,已经包括移出效果了.你这么写还要遍历两遍DOM多亏啊...另外可能代码习惯不一样,我平常很少用slide,一般都是用animate写,感觉比较有安全感...当然也可以用插件,比如TweenMax,可以不用考虑那么多兼容性. 所以我建议你换animate重新试试,找出bug的根本原因.另外可以多看看TweenMax的API :)
      

  4.   

    我开始也用Hover但是不是,下拉的div在Hover时要不隐藏,那鼠标停在div上就是离开了li,div又被隐藏了。
    我现在看见API都恶心,
    每种语言有每套不同的API,为了完成同一件事,把菜单拉下来,
    有VC ,C#,js,jq,java, asp.net web. windowsform,wpf. 各种语言API,那些写API的人的规范,为了就是让码农们,下拉个菜单。离开了这些写API的爹,我还能做什么?你不感觉这很坑爹吗?
      

  5.   

    我开始也用Hover但是不是,下拉的div在Hover时要不隐藏,那鼠标停在div上就是离开了li,div又被隐藏了。
    我现在看见API都恶心,
    每种语言有每套不同的API,为了完成同一件事,把菜单拉下来,
    有VC ,C#,js,jq,java, asp.net web. windowsform,wpf. 各种语言API,那些写API的人的规范,为了就是让码农们,下拉个菜单。离开了这些写API的爹,我还能做什么?你不感觉这很坑爹吗?

    怎么说呢,我能理解你这种心情...我不太清楚你为什么要学前端,也不了解你的背景.首先如果你是自己感兴趣的话,那就尽量等静下心来再去看代码,烦躁恶心的时候就去放松一下.如果你是为了工作而自己去没有太大的兴趣,建议你遇到问题直接请教同事,不耻下问刨根问底,这样效率最高(当然是配合API去问问题).然后再说看代码,其实可以结合一些例子看API,这样好理解,尤其很多博主都很NB的,话锋幽默,也不至于你感到枯燥.要不就是你现在这样,发帖子,和大家一起讨论,有个交流的过程会让你有动力继续下去.最后你说的API那些爹.....当初不知道TweenMax的时候,我会用animate或者用setInterval去一帧一帧跑,如果写个稍微复杂点的动画还真是让人头疼,后来用TweenMax分分钟搞定,效率提高很多.这不是很好一件事么,写这些插件也好,API也好的人们,必定是NB的人(就是你所说的爹呃...),是巨人,我们如今站在巨人的肩膀上不就是为了看得更高,更远?我们每达到一个新的高度,都需要借助别人的辛苦汗水换来的优秀成果,这就是我们的生活方式,进步方式.你现在把自己孤立出来是不对的,你不可能什么都NB,你需要做的,就是学会NB的东西,拿着它们去做更NB的事.