Материализовать CSS side-nav не работает

У меня есть базовая настройка Runize Materialize, и все кажется прекрасным, за исключением слайд-офф-nav.

Вот мой код. Меню:

<ul class="right hide-on-med-and-down">
    <li><a class="dropdown-button" data-constrainwidth="false" data-beloworigin="true" data-activates="about-drop" href="#!">About<i class="material-icons left">arrow_drop_down</i></a></li>
    <li><a class="modal-trigger" href="#signup">Signup</a></li>
    <li><a class="modal-trigger" href="#sign-in">Sign In</a></li>
</ul>

<ul id="slide-out" class="side-nav">
    <li><a href="#">About</a></li>
    <li><a href="#">Signup</a></li>
    <li><a href="#">Sign In</a></li>
</ul>

<a href="#" data-activates="slide-out" class="button-collapse"><i class="material-icons">menu</i></a>

JS:

<script>
$(".dropdown-button").dropdown();
$(".button-collapse").sideNav();
$(document).ready(function(){
    $('.modal-trigger').leanModal();
});
</script>

Я получаю соответствующее меню гамбургера при уменьшении размера экрана, однако щелчок гамбургером не расширяет меню. URL-адрес обновляется с помощью хеша # и его. В моем выпуске JS нет ошибок.

С другими функциями JS выпадающее меню работает, а модальное работает. В тупике, почему г-н SideNav не сотрудничает.

Любые идеи?

Ответ 1

Я нашел решение. Я схватил init hack из Materialize: http://materializecss.com/templates/starter-template/js/init.js, а затем убедился, что последний раз его вызывал в моей JS. (Поставить его перед остальной частью JS, чтобы он потерпел неудачу.)