Jquery 如何切换和悬停侧菜单?

Jquery 如何切换和悬停侧菜单?,jquery,menu,hover,click,toggle,Jquery,Menu,Hover,Click,Toggle,我目前在一个网站上有一个副菜单。侧菜单可以通过悬停特定区域打开,如果取消悬停则关闭。这很好,但我也希望它打开,如果我点击一个特定的区域,这也是工作。但如果再次单击此区域,我希望它再次关闭,这是我现在的问题 $.fn.boxLid = function(options){ var box = new BoxLid(options); return this.each(function(){ $(this).hover(box.open, box.close) &&

我目前在一个网站上有一个副菜单。侧菜单可以通过悬停特定区域打开,如果取消悬停则关闭。这很好,但我也希望它打开,如果我点击一个特定的区域,这也是工作。但如果再次单击此区域,我希望它再次关闭,这是我现在的问题

$.fn.boxLid = function(options){
  var box = new BoxLid(options);
  return this.each(function(){
    $(this).hover(box.open, box.close) && $('#id').click(box.open);
  });
};

到目前为止,我使用了单击功能,因为.toggle(box.open,box.close);不行。有人有主意吗?提前谢谢

没有jQuery第二次单击处理程序,因此您可能需要使用一个指示符来完成此操作。大概是这样的:

$.fn.boxLid = function (options) {
    var box = new BoxLid(options);
    var open = false;
    return this.each(function () {
        $(this).hover(box.open, box.close); 
        $('#id').click(function(){
           if(open){
             box.close;
             open = false;
           }else{
             box.open
             open = true;
           }
        });
    });
};
创建一个演示