Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Усовершенствование кода горизонтального меню (https://javascript.ru/forum/events/58528-usovershenstvovanie-koda-gorizontalnogo-menyu.html)

falkone 27.09.2015 22:04

Усовершенствование кода горизонтального меню
 
Написал горизонтальное резиновое меню для себя. В принципе что хотел реализовать то и вышло(выпадающее меню на несколько колонок, при уменьшении все плавно смещает и обрезает текст в нужный момент), возможно у Вас будут другие взгляды на определенные вещи, буду рад услышать. Но вся суть вопроса немного в другом.

После нескольких ресайзов hover заметно стает замедление срабатывать. Мои знания jQuery пока что не дают ответа на вопрос почему так может быть. Может кто-то подскажет в чем суть проблемы и как ее можно решить.

Демо codepen.io

рони 27.09.2015 22:54

falkone,
каждый resize увеличивает количество hover

falkone 27.09.2015 23:49

Ого, точно, в консоле hover потом растут очень сильно. С чем это связано?

рони 28.09.2015 00:16

Цитата:

Сообщение от рони
С чем это связано?

Цитата:

Сообщение от рони
каждый resize увеличивает количество hover

:-?
resize -> AdaptiveMenu.init() -> this.setSubWrapperWidth() -> this.addDesktopEventListener() -> this.$li.hover

falkone 28.09.2015 00:20

В консоле после ресайза, hover за раз вызывается больше 5 раз, чем больше ресайзов тем больше одновременных вызовов.

Это можно как то обойти?

рони 28.09.2015 00:29

falkone,
проверять если hover установлен, более не ставить.
и ждать когда ресайз закончится (для оптимизации) тогда запускать перерасчёт.

falkone 28.09.2015 00:35

Спасибо, завтра доделаю.


Часовой пояс GMT +3, время: 02:04.