这是代码:

var HoverMenuOptions = {
    show: function() {
        $("#UserHoverMenu").css({"display": "block"});
    },

    hide: function() {
        $("#UserHoverMenu").delay(2000).fadeOut(function() {
            $(this).css({"display": "none"});
        });
    }
};


如果鼠标离开触发show()或#UserHoverMenu的链接,我希望div #UserHoverMenu淡出。

我尝试过:

   $('#UserProfileName a').click(function() {

        HoverMenuOptions.show();

    });

   $('#UserProfileName a, #UserHoverMenu').mouseleave(function() {

    HoverMenuOptions.hide();

   });


但是,如果鼠标离开#UserProfileName a然后进入另一个称为#UserHoverMenu的div中,仍然会触发隐藏操作。当用光标输入#UserHoverMenu时,如何中断触发的fadeOut()?

最佳答案

$('#UserHoverMenu').mouseenter(function(e){
  $(this).stop(true,true).css({"display": "block"});
});

07-27 13:35