jQuery,关闭菜单

jQuery,关闭菜单,jquery,menu,popup,Jquery,Menu,Popup,我需要一个菜单的帮助,我正在一个名为cometchat的jQuery聊天系统上添加这个菜单。 我一直在尝试添加一个类似于Facebook的应用程序菜单,我让它可以打开和关闭,它会关闭,点击身体和酒吧中的任何地方,但它应该打开和关闭的地方 下面是一段代码: a("#cometchat_base").append( '<div id="cometchat_application" class="cometchat_application menu"> <strong&g

我需要一个菜单的帮助,我正在一个名为cometchat的jQuery聊天系统上添加这个菜单。 我一直在尝试添加一个类似于Facebook的应用程序菜单,我让它可以打开和关闭,它会关闭,点击身体和酒吧中的任何地方,但它应该打开和关闭的地方

下面是一段代码:

a("#cometchat_base").append(
  '<div id="cometchat_application" class="cometchat_application menu">
    <strong>Menu</a></strong>
  </div>');

a("#cometchat_base").append(
  '<div class="menu-content" style="
      display:none;
      position:absolute;
      bottom: 30px;
      left: 20px;
      border: 1px solid black;
      background-color:White;
      padding: 5px;">
    <div>
      <a href="#">Menu option 1</a>
    </div>
    <div>
      <a href="#">Menu option 2</a>
    </div>
  </div>');

a(".cometchat_application,.menu").click(function(){
  a(".menu-content").hide();
  a(this).next().show();
  return false;}
);

a("#page-bg,#cometchat_base,.menu-content a").click(function(){
  a(".menu-content").hide();}
);

a(".boo,.menu-content a").click(function(){alert(a(this));});
a(“#cometchat_base”).append(
'
菜单
');
a(“#cometchat_base”).append(
'
');
a(“.cometchat_应用程序,.menu”)。单击(函数(){
a(“.menu content”).hide();
a(this.next().show();
返回false;}
);
a(“#页面背景,#cometchat_基础,.菜单内容a”)。单击(函数(){
a(“.menu content”).hide();}
);
a(“.boo,.menu content a”)。单击(函数(){alert(a(this));});

我试图更改
a(“#page bg,#cometchat_base,.menu content a”)
并添加button div类,但它再也无法打开了。而
警报(a(this);
我无法更改,因此它只会在没有任何警报的情况下打开链接。

在您的第一行代码中,您没有关闭要附加的
,如果您在此基础上再添加一点代码和一些HTML,可能会有所帮助


此外,如果您将所有CSS放入样式表并在多行上为我们格式化代码,则更易于阅读和清理:)

好的。。。因此,通过大量的尝试和错误,我学习js是的!!!! 所以我以前尝试过的那些乱七八糟的代码最终变成了这样 底部栏上的菜单按钮
()


.attr(“id”、“cometchat\u菜单”)


.addClass(“cometchat_菜单”)


.html(“菜单”


.appendTo(“#cometchat_base”)

点击按钮时弹出菜单
a(“”


.addClass(“菜单内容”)


.css(“显示”、“无”)


.css(“位置”、“绝对”)


.css(“底部”、“24px”)


.css(“边框”,“0px”)


.css(“填充”、“0px”)


.css(“宽度”,“150px”)


.html(“…我的菜单正文…”)


.appendTo(“#cometchat_base”)

显示和隐藏弹出窗口的命令
a(“.cometchat\u菜单”)
。单击(函数(){
if(a(this).hasClass(“cometchat_menuopen”){a(this).removeClass(“cometchat_menuopen”);a(.menu content”).hide()}else{a(this).addClass(“cometchat_menuopen”);a(“#menu content”).hide();a(this.next().show();return false;})

现在我的按钮工作了:)希望它也能帮助其他人。

Jquery下拉菜单

jquery中最好的功能是我们可以创建自定义函数并将它们绑定/解除绑定到实时事件

单击时的操作需要捕获以关闭打开的菜单。单击同一链接或正文上的任何位置都应关闭菜单

在我的例子中,我想关闭一个下拉菜单,如果它点击了主链接或链接之外,即html/正文中的任何地方


很高兴看到你得到了答案!我只是想补充一点,您可以像这样添加多个属性或css参数:a(“”.css({“display”:“none”,“position”:“absolute”,“bottom”:“24px”,等等)
var toggleClick = function(){

    var divObj = $(this).next();
    var nstyle = divObj.css("display");

    if(nstyle == "none"){
        divObj.slideDown(false,function(){
            $("html").bind("click",function(){
                divObj.slideUp();
                $("html").unbind("click");
            });
        });
    }
};

$(".clickme").click(toggleClick);