2013-09-15 4 views
0

Я создал многоуровневое адаптивное меню: http://codepen.io/mdmoura/pen/FrIbqMulti Level Отзывчивого меню ... Transiction между мобильным и не мобильным

1 - Размещая курсор «содержание» пункт появится подменит;

2 - При изменении размера меню на мобильный телефон появится ссылка меню, и меню исчезнет.

До сих пор так хорошо ... Что отсутствует:

A - При нажатии на ссылку меню, меню должно стать видимым или невидимым;

B - При нажатии одного из подменю его дочерняя ul должна стать видимой или невидимой.

Конечно (A) и (B) должны быть только мобильной версией, поэтому ширина менее 800 пикселей.

Я пытался ее решить, используя enquire.js: http://codepen.io/mdmoura/pen/alxkI. Поэтому у меня есть:

$('nav a[href="#"]').click(function (event) { 
    event.preventDefault(); 
}); 

enquire.register("screen and (max-width: 800px)", { 
    match: function() { 
     $('nav a[href="#"]').on('click.match', function() { 
     $(this).next('ul').toggle(); 
     }) 
    }, 
    unmatch: function() { 
     $('nav a[href="#"]').off('click.match'); 
    } 
}); 

Но я получаю проблемы при изменении размера от Мобильной версии, а не Мобильной версии ...

Может кто-нибудь помочь мне? Используя Запрос или нет ...

Спасибо, Miguel

ответ

1

Похоже, проблема здесь была с погрузкой узнать из GitHub.

Я изменил источник enquire.js чтобы загрузить его из моего домена во временное. Вот рабочий example

Update: Вместо того, чтобы использовать JQuery переключения, используйте класс .expanded {display: block;} тумблер по щелчку. http://codepen.io/anon/pen/oHyxK

+0

Не совсем ... Попробуйте меню на большом экране. Вы увидите, что он работает нормально. Измените его на мобильный. Он отлично работает ... Теперь измените размер на большой экран ... Теперь он перестает работать ... Это проблема, которую я не могу объяснить ... Любая идея? –

+0

Конечно :) Вы используете jQuery toggle, который добавляет встроенный стиль 'display: none' в раскрывающееся меню. Он имеет более высокий приоритет и не удаляется в методе «unmatch». Вы также можете добавить классы в свои 'ul'-s (например,' nav-ul', 'inner-dropdown'), чтобы немного уменьшить ваш LESS. –

+0

Что вы предлагаете в части JQuery вместо Google? Я не уверен, как это сделать. Не могли бы вы привести мне пример? О МЕНЬШЕ: каковы преимущества использования классов CSS? –

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