Прорисовка главного меню (категорий)Принято

Можно что-то сделать с главным меню? В плане, чтобы оно не дергалось при загрузке сайта и, вообще, прорисовывалось бы быстрее?

Может, зафиксировать ширину пунктов? С выбором из нескольких вариантов - 4-6-8. Или что-то еще... Некрасиво смотрится, да и в скорости загрузки это существенная брешь... по моему.

5 ответов
a
Евгений Леман
programmer
#
6 сентября 2018 18:15

Не поступало пока жалоб на подобное. Теоретически такое конечно может произойти, если сложится ряд неких обстоятельств в виде очень слабого ПК и интернет-соединения клиента, но всё же сомневаюсь. Больше похоже на то, что кто-то покопался в JS темы. Или добавил какие-то свои скрипты, которые прямо или косвенно затрагивают меню.

У нас на демо вы наблюдаете такую проблему, если включить горизонтальное меню? http://incart.designmyshop.ru/...

a
Вячеслав Мехонцев
#
7 сентября 2018 05:05

Нет, изменений в JS и своих скриптов у меня нет.

Посмотрел демо и да, конечно, я забыл сказать, что у меня давно выключен прелоадер (штатной настройкой) - без него визуально кажется, что загрузка происходит быстрее (мы провели миниопрос своих клиентов - большинство сказали, что "он их бесит", хотя мне лично нравится...). С прелоадером (в демо) всего этого не видно, а вот без него - меню сначала появляется в виде пунктов в две строки без треугольничков, потом дорисовываются эти треугольники с изменением ширины, потом ширина почему-то меняется туда-сюда ещё раз. Посмотрите: https://grillhousestore.ru При этом всё остальное уже загружено и не меняется. Если бы меню появлялось сразу в окончательном виде - выглядело бы гораздо лучше и визуально казалось бы, что сайт грузится молниеносно!

И да, я смотрю всё это со слабого ПК. Сознательно. Если тут проблемы не будет, то её не будет ни у кого!

a
Евгений Леман
programmer
#
7 сентября 2018 09:09

Это и есть один из плюсов прелоадера. Ведь выравнивание меню сделано скриптом. Одним только CSS в наших условиях это сделать невозможно. И чтобы перестроение меню было корректным, оно должно происходить после полной загрузки документа(в этот же момент скрывается и прелоадер).

Правда не совсем понятно почему оно прыгает дважды. Будем разбираться и постараемся этот процесс максимально замаскировать. Некоторые идеи уже есть.

a
Евгений Леман
programmer
#
7 сентября 2018 09:16

Попробуйте добавить эти строки в user.css:

@media (min-width:1242px){
    .horizontal-menu .main-menu__item:first-child .main-menu__link,
    .horizontal-menu .main-menu__item .main-menu__link{transition:unset;}
}

a
Вячеслав Мехонцев
#
7 сентября 2018 09:42

Добавил. Второе "дерганье" пропало. Спасибо.

Будем разбираться и постараемся этот процесс максимально замаскировать. Некоторые идеи уже есть.

Вот, за это особенно спасибо. Именно это я и имел ввиду - чтобы вы оптимизировали работу скриптов, насколько это возможно вообще. Применительно к меню - это особенно важно! Оно ведь везде! :)

Чтобы добавить комментарий, зарегистрируйтесь или войдите