2015-09-15 2 views
0

Я использую Materialize, и sidenav создает несколько наложений при нажатии на сидену.Materialize SideNav производит несколько # sidenav-overlay

<div id="sidenav-overlay" style="opacity: 1;" class=""></div> 
<div id="sidenav-overlay" style="opacity: 1;" class=""></div> 
<div id="sidenav-overlay" style="opacity: 1;" class=""></div> 

Я нашел исправить here и заменить файл sideNav.js из here. Но это все равно не приносит пользы.

Кто-нибудь застрял в подобной ситуации и нашел решение?

ответ

0

какой язык вы программируете? я провел что-то вроде с asp.net, ошибка объявлял это:

$(".button-collapse").sideNav(); 

В MasterPage и ChildPages. Теперь объявляем только MasterPage, и проблема была решена. надеюсь, помогут вам в чем-то, уважения

+0

У меня было это уже в моем коде, но не помогло. Я использую Javascript (точнее, AngularJS). Из всего, что я читал, я понимаю, что это ошибка с самой картой. . Поэтому я добавил хак моих собственных, $ ('тело') нажмите (функция() { $ ('DIV [ID = sidenav-оверлей]) удалить();. }) Это гарантирует, что в любое время превысит наложение, и пользователь щелкнет в любом месте страницы, наложение будет удалено из DOM. Не гнездо soln, но делает работу – sisyphus

+0

несколько раз этот оверлей добавляется всякий раз, когда мы добавляем этот плагин больше, чем однажды $ (". Button-collapse"). SideNav(); Я не знаю, что мы должны делать, если наши требования - это больше, чем один сиден. – santhosh

1

Причины, существует несколько наложений, появляющихся позади SideNav происходят потому, что $('.button-collapse').sideNav() в настоящее время выполняются несколько раз материализовать на тот же элемент.

Быстро исправить это, чтобы удалить все предыдущие click() события из элемента, прежде чем sideNav Реинициализации материализовать, как и так:

$(".button-collapse").off('click').sideNav({ --yourOptions-- }); 

Примечание: Я не уверен, что другой Функциональность».sideNav () "может быть добавлен здесь, может быть лучший/более конкретный способ удалить предыдущий init.

0

Для тех, кто использует Materialize Framework на Drupal, убедитесь, что вы случайно не загрузите другую копию Materialize/Velocity JS через Grunt или другие менеджеры задач. Это приведет к тому, что наложение будет складываться как сумасшедшее.

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