首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery,关闭菜单

问jQuery,关闭菜单
EN

Stack Overflow用户
提问于 2009-09-30 01:42:25
回答 3查看 223关注 0票数 0

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

下面是这段代码:

代码语言:javascript
复制
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("#page-bg,#cometchat_base,.menu-content a")并添加button div类,但它不再打开。我不能更改alert(a(this);,所以它只会打开链接而不会发出任何警告。

EN

回答 3

Stack Overflow用户

发布于 2009-09-30 02:52:52

在您的第一行代码中,您没有关闭您附加的<div> ...也就是说,如果您包含更多的代码和一些HTML作为基础,可能会有所帮助。

此外,如果您将所有CSS放入样式表中,并将代码格式化到多行中,则会更容易阅读和更整洁:)

票数 0
EN

Stack Overflow用户

发布于 2009-10-01 05:56:55

好的..。因此,通过大量的试验和错误,我学会了js yay!所以我之前尝试的乱七八糟的代码最终是这样的

//底部栏上的菜单按钮

(<div/>)

.attr("id","cometchat_menu")

.addClass("cometchat_menu")

.html("<strong>Menu</strong>")

.appendTo("#cometchat_base");

//点击按钮时弹出菜单

a("<div/>")

.addClass("menu-content")

.css("display","none")

.css("position","absolute")

.css("bottom","24px")

.css("border","0px")

.css("padding","0px")

.css("width","150px")

.html('...my menu body...')

.appendTo("#cometchat_base");

//显示和隐藏弹出窗口的命令

a(".cometchat_menu") .click(function(){ 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;}});

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

票数 0
EN

Stack Overflow用户

发布于 2014-03-03 17:20:59

Jquery下拉菜单

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

需要捕获on click操作以关闭打开的菜单单击同一链接或身体上的任何位置都应关闭菜单

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

http://jsfiddle.net/austinnoronha/k2Lwj/

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1495752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档