mfjzmm
2016-07-11 10:05
采纳率: 0%
浏览 1.1k

jquery鼠标指向控制显示隐藏菜单问题

新手求问一个jquery鼠标指向控制显示隐藏菜单问题,求大神解答

代码如下:

$( "#user_inf" ).empty();
var user_name="admin";
$( "#user_inf" ).append("<div><a>"+user_name+"</a><img src='"+getContextPath()+"/img/icon-A.ico'/></div>");
$( "#user_inf" ).append("<ul id='user_menu'><li>用户设置</li><li>注销</li></ul>");
$( "#user_menu" ).menu().hide().position({
    my: "left top",
    at: "left bottom",
    of: "#user_inf a"
});
var isShow=false;
$( "#user_inf a ").mouseover(function() {
    $( "#user_menu" ).slideDown();
    $( document ).one( "click", function() {
        $(" #user_menu").slideUp();
    });
});
$(" #user_menu").mouseover(function() {
    isShow=true;
    $(this).slideDown();
});
$(" #user_menu" ).mouseout(function() {
    if(isShow){
        $(this).slideUp();
        isShow=false;
    }
});

想达成一个这样的效果,鼠标指向菜单相关的a标签,展示菜单;鼠标移开a标签后,如果在菜单内,则菜单继续显示,如果不在菜单内,则自动隐藏菜单或点击文档隐藏菜单,上述代码总是会出现鼠标移到菜单后,在每一个菜单项之间切换时会不停的展示隐藏菜单的问题,求大神解答

其中用了一些jquery ui的东西,menu和position是jquery ui内的功能
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 好的哦 2016-07-11 10:15

    直接鼠标移入菜单显示,移出菜单隐藏起步更好。

    点赞 打赏 评论
  • Miki_zhangyy 2016-07-11 10:16

    把事件传递阻止了就可以了应该。百度去吧。

    点赞 打赏 评论
  • yu954663801 2016-07-12 01:14

    取消事件冒泡就可以了。

    点赞 打赏 评论

相关推荐 更多相似问题