2015-09-07 2 views
10

У меня есть базовая настройка для выполнения материализации, и все кажется прекрасным, за исключением слайда с боковой стороны.Материализовать CSS side-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 не сотрудничает.

Любые идеи?

ответ

20

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

+0

все зависит от порядка ваших файлов скриптов! Вы должны запустить свой код ПОСЛЕ jQuery & Materialize libs были загружены ... Я использую пользовательскую асинхронную нагрузку с обратными вызовами для оптимизации – qdev

Смежные вопросы