web-dev-qa-db-fra.com

Materialise CSS 'options' de sidenav non définies

J'ai utilisé le code suivant pour la barre de navigation trouvée sur le site Web de Materializecss.

<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>

La documentation indiquait utiliser le code JavaScript suivant pour initialiser le plugin.

document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.sidenav');
    var instances = M.Sidenav.init(elems, options);
  });

Mais, lors de l'exécution, il est dit

'options' n'est pas défini.

Je ne veux pas utiliser jQuery à cette fin. Comment puis-je réparer cela?

13

Parce qu'il n'y a pas de variable options dans votre code js. Utilisez plutôt {} pour les options par défaut, comme ci-dessous:

document.addEventListener('DOMContentLoaded', function() {
  var elems = document.querySelectorAll('.sidenav');
  var instances = M.Sidenav.init(elems, {});
});

Si vous souhaitez modifier les valeurs par défaut, elles sont documentées ici :

{
    Edge: 'left',
    draggable: true,
    inDuration: 250,
    outDuration: 200,
    onOpenStart: null,
    onOpenEnd: null,
    onCloseStart: null,
    onCloseEnd: null,
    preventScrolling: true
}
15
wscourge