javascript - CSS3 和 jQuery 中的简单推送菜单

标签 javascript jquery css

我正在尝试在我的网站中添加一个推送菜单。此菜单必须从左侧滑出并且应与当前页面重叠。我正在使用以下代码,但它不起作用。我有什么遗漏或做错了吗?

CSS:

    #menu {
  display: none;
  position: absolute;
  top: 0;
  left: -240px ;
      position: fixed;

  width: 240px;
      height: 100%;
  padding: 15px 25px;
  margin: 0;

  list-style: none;
  background: #333;
  z-index: 9999;

      transition: all 0.3s ease;
      -webkit-transition all 0.3s ease;
  }

  #menu a {
        display: block;
       color: #fff;
        padding: 15px 0;
        border-bottom: 1px solid rgba( 255, 255, 255, 0.05 );
    }

  .animate {
          transform: translateX(240px);
         -webkit-transform: translateX(240px);
     }

Java脚本:

            $(function() {
                  $('#toggle-menu').click(function() {
                           toggleMenu();
                    });
             })(jQuery);



         function toggleMenu() {
                if ($('#menu').hasClass('animate')) {
                    $('#menu').removeClass('animate');
                               }
                 else {
                       $('#menu').addClass('animate');
                      }

                 //$('#menu').toggleClass('animate');
             }

HTML:

      <div id="menu">
            <ul>
             <li><a href="#"> Home </a></li>
               <li><a href="#"> Home </a></li>
              <li><a href="#"> Home </a></li>
               </ul>
              </div>

最佳答案

为您创建了一个工作示例。希望对您有所帮助!

$(".menu").click(function() {
  $('#menu').toggleClass('animate');
});
body {
  overflow: hidden;
}
#menu {
  top: 50px;
  transform: translateX(-300px);
  -webkit-transform: translateX(-300px);
  position: fixed;
  width: 240px;
  height: 100%;
  padding: 15px 25px;
  margin: 0;
  list-style: none;
  background: #333;
  z-index: 9999;
  transition: all 0.3s ease;
  -webkit-transition all 0.3s ease;
}
#menu a {
  display: block;
  color: #fff;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
#menu.animate {
  transform: translateX(0);
  -webkit-transform: translateX(0);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="menu">
  <ul>
    <li><a href="#"> Home </a>
    </li>
    <li><a href="#"> Home </a>
    </li>
    <li><a href="#"> Home </a>
    </li>
  </ul>
</div>

<div class="menu">click</div>

关于javascript - CSS3 和 jQuery 中的简单推送菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879344/

相关文章:

JavaScript : Detect if a String contain url image

javascript - 查找具有特定数据属性的元素 jQuery

css - 将背景图像叠加到背景颜色上

javascript - 我们如何在谷歌浏览器的每一页上打印表格标题

javascript - 使用 JavaScript 迭代 JSON 对象不适用于此数据

Javascript indexOf 和替换 - 我错过了什么吗

javascript - HTML 和 javascript 音频播放器

jquery - 自动图像 slider 在桌面上工作,但在移动设备上不工作

javascript - 为什么需要 CORS header 来请求可下载链接?

html - 具有可滚动主体和 colgroup 的表格不起作用