#javascript #jquery #materialize
#javascript #jquery ( jquery ) #материализоваться
Вопрос:
Я использую jQuery-плагин sideNav () от Materialize для переключения открытия и закрытия боковой навигации. Он отлично работает с одной кнопкой.
При использовании нескольких кнопок он работает с первого раза для каждой кнопки, но затем при первом нажатии работает только последняя кнопка. Для всех предыдущих кнопок требуется два нажатия.
Вот html:
<a href="#" data-activates="slide-out" class="btn button-collapse">Button One</a>
<a href="#" data-activates="slide-out" class="btn button-collapse">Button Two</a>
<a href="#" data-activates="slide-out" class="btn button-collapse">Button Three</a>
<!-- sideNav -->
<ul id="slide-out" class="side-nav">
<li>Hello side nav</li>
</ul>
Шаги для воспроизведения:
- Нажмите «Первая кнопка» (откроется sideNav)
- Нажмите «Вторую кнопку» (откроется sideNav)
- Нажмите «Третью кнопку» (откроется sideNav)
- Нажмите «Первая кнопка» (ничего)
- Нажмите «Первая кнопка» (откроется sideNav)
- Нажмите «Вторая кнопка» (ничего)
- Нажмите «Вторую кнопку» (откроется sideNav)
- Нажмите «Третью кнопку» (откроется sideNav)
И jQuery:
$('.button-collapse').sideNav({ edge: 'right' });
Я попытался очистить функцию перед щелчком мыши, обернуть событие внутри ready() и присвоить идентификаторы каждому элементу button и жестко запрограммировать его для события jQuery, но все равно не работает. Любая помощь приветствуется.
Комментарии:
1. Вы пытаетесь запустить один и тот же sideNav() со всеми этими кнопками? или вы планируете иметь 3 sideNavs? потому что функция sideNav() принимает только один элемент триггера.
2. @SergioAlen Спасибо за ваш комментарий. Я хотел иметь один sideNav, но если он принимает только один триггер элемента, я согласен с наличием 3. Есть представление о том, как это может выглядеть?