有一个菜单栏名为category,把各个分类显示在隐藏的菜单,这个分类是通过while历遍数据库得到的,并各自有务自的链接目标。当鼠标移到或者悬停在category菜单时,隐藏的菜单则为显示:
<script type="text/javascript">
$(document).ready(function()
{
$("#hidden_menu").hide();
$("#categort").mouseover(function(){
$("#hidden_menu").show();
});
$("#hidden_menu").mouseout(function(){
$(this).hide();
});
</script>
<div id="category"><a href="#">category</a></div>
<div id="hidden_menu">
<div class="round_corner_left"></div>
<div class="round_corner_reeat"><a>这里历遍数据库得到的各种分类名称</a></div>
<div class="round_corner_right"></div>
</div>
结果是在那个隐藏菜单的div显示时,移动鼠标到其中的链接,可是只到一半就那个应该显示的菜单去又隐藏起来了。
请高手帮忙看一下,给点意见。

解决方案 »

  1.   

    $("#hidden_menu").hover(
      function () {
        $("#hidden_menu").show();
      }, 
      function () {
        $(this).hide();   
    }
    );
      

  2.   


    $(document).ready(function()
    {
    var isShow=false;
    $("#hidden_menu").hide();
    $("#categort").mouseover(function(){
    $("#hidden_menu").show();
    });
    $("#hidden_menu").mouseover(function(){
    isShow=true;
    $(this).show(); 
    });
    $("#hidden_menu").mouseout(function(){
    if(isShow)
    {
    $(this).hide(); 
    isShow=false;
    }
    });
    })
    </script>
    <div id="categort"><a href="#">category</a></div>
    <div id="hidden_menu">
    <div class="round_corner_left"></div>
    <div class="round_corner_reeat"><a>这里历遍数据库得到的各种分类名称</a></div>
    <div class="round_corner_right"></div>
    </div>
      

  3.   

    多谢多谢,解决了问题。wishifef,我想问一下为什么要多设一个isShow这个变量呢?不是很懂
      

  4.   

    我想的是用isShow来判定鼠标是否移动到了隐藏菜单上,如果移上了再执行mouseout事件去隐藏,否则不隐藏,好像不是太管用,于是就在mouseover里面加了一句$(this).show();
      

  5.   

    我要实现右侧悬浮窗口有隐藏功能,但是点击“zixun”层鼠标闪个不停,然后“imcss”层出来后,鼠标没有办法停留在层上。还有就是下面要实现的滚动功能,就是随页面滚动而滚动,但是也没法滚动。请问我这段代码有什么问题?
    function()
    {
    var winWidth=jQuery(window).width();
    winWidth=winWidth-20;
    jQuery("#zixun").css("left",winWidth);
    jQuery("#zixun").css("top",20);
    jQuery("#zixun").mouseenter(function()
    {
    jQuery("#zixun").hide();
    jQuery("#imcss").show();
    }).mouseleave(function()
    {
    jQuery("#imcss").hide();
    jQuery("#zixun").show();
    });

     jQuery(window).scroll(function()
    {
     
    winWidth=jQuery(window).width()+jQuery(window).scrollWidth()-20;
    jQuery("#zixun").css("left",winWidth);
    alert(jQuery(window).scrollHeight());
    jQuery("#zixun").css("top",jQuery(window).scrollHeight()+20);

    });