Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.12.2016, 10:32
Новичок на форуме
Отправить личное сообщение для ke1evra Посмотреть профиль Найти все сообщения от ke1evra
 
Регистрация: 28.12.2016
Сообщений: 2

Работа с анимированным меню. Оптимизация кода
Нет времени и желания изучать многокилобайтные неотформатированные скрипты сторонних людей.
Я пытаюсь сделать адаптивное меню для телефонов. Я видел решения с добавлением/удалением классов toggleClass, но тогда анимацию нужно делать через CSS. Я же хочу анимацию сделать через Velocity.
Вопрос - как это реализовать, чтоб было менее затратно в плане производительности.
На данный момент я вижу решение по типу
var flag=true; //флаг определять меню открыто или закрыто
function openMenu() {
	if(flag)
{$("#rotate").velocity({rotateZ: "+=90"},300); //кручу значок меню
 $("nav").velocity({marginLeft:0},300); //выезжает меню
 $(".menu").velocity({marginLeft:"60%"},300);//значок меню двигается вместе с меню
flag=false;
}
else
{       $("#rotate").velocity({rotateZ: "-=90"},300);
	$("nav").velocity({marginLeft:"-60%"},300);
	$(".menu").velocity({marginLeft:0},300);
flag=true;
}


Помимо производительности меня интересует еще один вопрос - мне нужно сделать подменю, если я задам нескольким пунктам класс submenu, то как скрипт будет понимать, какое submenu по клику нужно открыть в данный момент?
Ответить с цитированием
  #2 (permalink)  
Старый 28.12.2016, 10:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,059

ke1evra,
а нельзя это всё перенести в css и тогда будет так
function openMenu() {
$(".selector").toggleClass("open")
}

Последний раз редактировалось рони, 28.12.2016 в 10:52.
Ответить с цитированием
  #3 (permalink)  
Старый 28.12.2016, 10:54
Новичок на форуме
Отправить личное сообщение для ke1evra Посмотреть профиль Найти все сообщения от ke1evra
 
Регистрация: 28.12.2016
Сообщений: 2

Сообщение от рони Посмотреть сообщение
ke1evra,
а нельзя это всё перенести в css и тогда будет так
function openMenu() {
$(".selector").toggleClass("open")
}
Я же говорю, хочу анимацию посредством velocity. И еще непонятно, как подменюшки открывать.
Ответить с цитированием
  #4 (permalink)  
Старый 28.12.2016, 11:35
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,661

ke1evra, с чего ты взял что в твоем случае тупо открыть пункт меню на velocity будет менее затратно в плане производительности чем на jquery, ты сам тесты делал или поверил честному слову и заготовленному тесту на производительность у них на сайте?)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Оптимизация кода (создание горизонтального меню) IONEX jQuery 0 16.01.2012 04:07
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
Согласованная работа элементов Slide меню VSko jQuery 2 07.08.2011 09:01