Подскажите как до ума довести мобильное меню на jQuery.

Аватар пользователя VasyOK

Накодил я на jQuery мобильное меню, которое сворачивается в кнопочку в 2-х случаях:
1) когда скролим вниз
2) когда ширина окна меньше 760px;

Вопрос. Если меню открыто, как сделать чтоб оно оставалось открытым и в мобильном варианте?

Тестовый сайт тут http://jq.caribe.vps-private.net/
CSS: http://jq.caribe.vps-private.net/style.css
JS: http://jq.caribe.vps-private.net/myscript.js - кодировку UTF-8 выставлять.

/*Добавлено*/
Упрощаем задачу. Меню становиться кнопкой только при уменьшении размера окна. Как его оставить развернутым при этом уменьшении?

http://jq.caribe.vps-private.net/index2.html
http://jq.caribe.vps-private.net/myscript2.js

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя ХулиGUN
ХулиGUN 1 год назад

Добавить в скоуп переменную-флаг, которая будет указывать состояние твоего меню. А при скроле проверять ещё и эту переменную

Аватар пользователя ХулиGUN
ХулиGUN 1 год назад

Что касается самого js, то можно было бы обойтись гораздо меньшим количеством строк. Посмотри .toggleClass

Аватар пользователя VasyOK
VasyOK 1 год назад

"переменную-флаг, которая будет указывать состояние твоего меню. "
вот у меня классы ставятся в различных состояниях.
fixed - фиксированноее меню
mob - мобильные экраны
komp - компьютерные экраны

Допустим будет переменная какая-то, что она даст?

Аватар пользователя ХулиGUN
ХулиGUN 1 год назад
VasyOK написал:
Допустим будет переменная какая-то, что она даст?
VasyOK написал:
Как его оставить развернутым при этом уменьшении?
я написал:
переменную-флаг, которая будет указывать состояние твоего меню.
Аватар пользователя VasyOK
VasyOK 1 год назад

Насколько я вижу развернутым то оно будет следуя этой логике. Но механизм сворачивания тогда пропадет. Или я не прав?

Мне нужно, когда открывается один выставлять статус открытости на другом.

Аватар пользователя itcrowd72
itcrowd72 1 год назад

Сделай класс "открытости" и присваивай его когда надо

Аватар пользователя ХулиGUN
ХулиGUN 1 год назад
itcrowd72 написал:
Сделай класс "открытости" и присваивай его когда надо

Ага, давайте наплодим кучу ненужных переменных.
ТС, напиши на бумажке все кейсы с состояниями твоего меню. После станет понятно необходимое количество переменных

Аватар пользователя VasyOK
VasyOK 1 год назад

по какому событию должен ставиться этот класс?
и каким образом установить аккордеон открытым с этим классом?

Аватар пользователя itcrowd72
itcrowd72 1 год назад

по какому событию должен ставиться этот класс?

Изучи основы JS и jQuery

Аватар пользователя VasyOK
VasyOK 1 год назад

Собственно потому и создал тему что учу

Аватар пользователя ХулиGUN
ХулиGUN 1 год назад

Всё что тебе нужно, это класс, который будет указывать на "фиксированность" меню в данный момент, то есть обыкновенный on scroll и класс, который будет указывать раскрыт ли какой-нить пункт меню в данный момент, то есть on click на пункте меню. Остальное решается посредством css и media query . Это что касается твоей задачи.

Что касается поведения, то оно неправильное. ИМХО.