javascript - 移动菜单 Jquery 使非菜单项可单击关闭菜单。

标签 javascript jquery mobile menu

我有一个简单的脚本toogle代码,可以打开和关闭移动响应菜单。

我的问题是,当菜单打开时,我还希望能够单击菜单外部的区域来关闭菜单。任何帮助都会很棒。

$(document).ready(function(){
    $("#mobile-toggle").click(function(){
            $("#mobile-menu").animate({
            left: "0px",
            opacity:1.0
    }, 100); 
});
    $("#mobile-toggle2").click(function(){
            $("#mobile-menu").animate({
            left: "-200px",
            opacity:1.0
    }, 100); 
}); });

最佳答案

将以下 JQUERY 扩展与现有代码结合使用:

$.fn.clickOutsideThisElement = function (callback) {
    return this.each(function () {
      var self = this;
      $(document).click(function (e) {
          if (!$(e.target).closest(self).length) {
              callback.call(self, e)
          }
      })
    });
};

并像这样调用函数:

$("#mobile-toggle").clickOutsideThisElement(function() {
   $("#mobile-menu").animate({
       left: "0px",
       opacity: 0
   }, 1000);
}).click(function() { //Click inside menu
   $("#mobile-menu").animate({
       left: "-200px",
       opacity: 1.0
   }, 1000);
});

<强> DEMO HERE >>

关于javascript - 移动菜单 Jquery 使非菜单项可单击关闭菜单。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25083041/

相关文章:

javascript - Jaeger 后端未接收到任何数据(使用 Jager Node.js 客户端)

javascript - 直接从url下载图片

javascript - 在 javascript 中查找所有参数超过 2 个的函数签名

javascript - 获取所有选中的复选框 javascript 或 jquery

javascript - 使用 jquery 的问答游戏

javascript - 显示 div 列表的更多/更少按钮

javascript - Ajax每次加载时自动刷新闪烁

javascript - iPhone HTML5 应用程序滚动问题

javascript - 使用 jQuery Mobile 选择作为菜单更改 URL 或内部页面

mobile - 计算机科学的哪些领域与移动开发特别相关?