物化sidenav不会出现

时间:2018-06-14 19:34:23

标签: javascript html css materialize

我正在尝试学习Materialise,但是当我点击菜单按钮时,我无法显示sidenav。我认为它与初始化器有关。

    <body>
  <nav>
    <div class="nav-wrapper">
      <a href="#!" class="brand-logo">Logo</a>
      <a href="#" data-target="mobile-demo" class="sidenav-trigger"><i class="material-icons">menu</i></a>
      <ul class="right hide-on-med-and-down">
        <li><a href="sass.html">Sass</a></li>
        <li><a href="badges.html">Components</a></li>
        <li><a href="collapsible.html">Javascript</a></li>
        <li><a href="mobile.html">Mobile</a></li>
      </ul>
    </div>
  </nav>

  <ul class="sidenav" id="mobile-demo">
    <li><a href="sass.html">Sass</a></li>
    <li><a href="badges.html">Components</a></li>
    <li><a href="collapsible.html">Javascript</a></li>
    <li><a href="mobile.html">Mobile</a></li>
  </ul>

html正文底部的脚本标记:

      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
  <script>
  $(document).ready(function(){
    $('.sidenav').sidenav();
  });
  </script>

2 个答案:

答案 0 :(得分:0)

sidenav()函数未定义。你应该试试这个

<script>
  $(document).ready(function(){
    $('.sidenav-trigger').click(function(){
      $('#mobile-demo').removeClass("sidenav");
    });

  });
  </script>

答案 1 :(得分:0)

它没有初始化M(物化的全局对象)。我从CDN更改了Materialize的版本并运行了它。我最终不需要jQuery。

<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js"></script>
<script>
  const sideNav = document.querySelector('.sidenav');
  M.Sidenav.init(sideNav, {});
</script>
相关问题