JS-решения №5. Активный класс в меню при скролле

  Рет қаралды 12,852

MaxGraph - cайты как страсть

MaxGraph - cайты как страсть

Күн бұрын

Привет! Иногда нужно сделать, чтобы пункты фиксированного меню "понимали", на какой секции вы находитесь, и подсвечивались. В этом видео я покажу, как это можно сделать на чистом JS. Вариант не то что бы супер идеальный, но тем не менее :)
clck.ru/PyQPW - исходники видео на GitHub
Меня зовут Максим Васянович. Фрилансер уже 5 лет, создал более 50 коммерческих сайтов. Преподаватель в онлайн-университете Skillbox, автор курса Веб-верстка.
Понравилось? clck.ru/Gr9Ec
Моя страница вконтакте: maxdenaro
Моя группа по верстке сайтов: maxgraph
Мой блог: blog.maxgraph.ru
Мой сайт: maxgraph.ru
Канал в телеграм: teleg.run/maxg...
Чат для верстальщиков: teleg.run/maxg...
#обучение #scroll #верстка

Пікірлер: 50
@redlixdavidof235
@redlixdavidof235 3 жыл бұрын
А что делать в таком случае, если я дожоху до конца страницы а из-за того что мой блок маленький по высоте скролл его не видит?
@makona79li2
@makona79li2 3 жыл бұрын
Спасибо! Очень полезно.
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@xOceanSpirit
@xOceanSpirit Жыл бұрын
Оптимизация выбросилась в окно)
@PizekattoX
@PizekattoX 4 жыл бұрын
Попробуй Intersection Observer API, там даже проще реализация и проц не грузит как scroll
@maxgraph
@maxgraph 4 жыл бұрын
Посмотрю, спасибо)
@romanf.5107
@romanf.5107 2 жыл бұрын
Редкая функция, которую никто не раскрывает - автоскрол до активного пункта длинного горизонтального меню при прокрутке страницы...
@olehivanov2380
@olehivanov2380 3 жыл бұрын
Спасибо! Единственный кто нормально сделал на чистом js.
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@nikdev8023
@nikdev8023 4 жыл бұрын
Круто, люблю эту рубрику, для новичка очень полезно!)
@maxgraph
@maxgraph 4 жыл бұрын
Спасибо))
@fl1pp1x
@fl1pp1x 4 жыл бұрын
Спасибо, помог, а то плагины все сразу лепят....
@candyman100
@candyman100 2 жыл бұрын
Годнота!
@maxgraph
@maxgraph 2 жыл бұрын
Спасибо)
@SKINBOXPartner
@SKINBOXPartner 4 жыл бұрын
Спасибо большое, очень помог!
@dmitriyzhukov4592
@dmitriyzhukov4592 2 жыл бұрын
Самый важный недостаток - это при обновлении страницы где-нибудь на середине, активные пункты меню сбиваются.
@xOceanSpirit
@xOceanSpirit Жыл бұрын
Что мешает код выполнить при загрузке страницы, а не только во время скролла?
@igorlitvintsev2427
@igorlitvintsev2427 4 жыл бұрын
Подскажите пожалуйста, а как сделать так, чтобы функция срабатывала один раз в случае, когда мы доскролили до определенной секции, хочу сделать круглые прогресс бары, и чтобы как только я доскролил до этой секции, они так автоматически загружались и оставались в конечном положении? Спасибо
@maxgraph
@maxgraph 4 жыл бұрын
добавить переменную isAnimated = false проверять if ((тут проверка что доскроллили) && isAnimated == false) { запускаем анимацию isAnimated = true }
@АлексейСоколов-у3к
@АлексейСоколов-у3к 2 жыл бұрын
А если где-то секции а где-то обычные дивы? Как тут реализовать?
@maxgraph
@maxgraph 2 жыл бұрын
Через классы
@const1525
@const1525 4 жыл бұрын
А можно это как то улучшить? У тебя они подряд пункты меню, а что если они будут разбросаны и некоторые секции вообще помечать не надо.
@maxgraph
@maxgraph 4 жыл бұрын
На данный момент решения не нашел. Но и не искал)
@Yafef203345
@Yafef203345 2 жыл бұрын
Мужик, дай бог тебе здоровья!
@maxgraph
@maxgraph 2 жыл бұрын
Спасибо)
@DSokoloko
@DSokoloko 2 жыл бұрын
Большое спасибо) Отличный пример!
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста)
@olegandrov267
@olegandrov267 2 жыл бұрын
Спасибо за данный урок? А что если такое меню находится ниже топа? Например оно top:100px;
@maxgraph
@maxgraph 2 жыл бұрын
Ну переписать придется скрипт)
@olegandrov267
@olegandrov267 2 жыл бұрын
@@maxgraph .clientHeight-110 это мне помогло
@nikolayklimenko8319
@nikolayklimenko8319 2 жыл бұрын
спасибо, очень помогло в обучении!)
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста)
@wilezar4835
@wilezar4835 Жыл бұрын
Я правильно понимаю, что по сути каждый раз когда мы скролим, оставаясь в одной секции, мы сначала удаляем активный класс, а потом добавляем?
@maxgraph
@maxgraph Жыл бұрын
Да
@xOceanSpirit
@xOceanSpirit Жыл бұрын
И это совсем неправильно и очень плохо) не в обиду автору, но это индусский код в самом натуральном виде.
@wilezar4835
@wilezar4835 Жыл бұрын
@@xOceanSpirit насчёт степени ужаса не могу судить, ибо относительно новичок, но даже я понимаю что тут проблемы банально с логикой работы
@osobennyu
@osobennyu 4 жыл бұрын
Спасибо за видео , есть нюанс , если высота секций меньше 100vh последний елемент меню не закраситься.
@maxgraph
@maxgraph 4 жыл бұрын
Это да, есть такое
@ОльгаЛеонтьева-ц3з
@ОльгаЛеонтьева-ц3з 3 жыл бұрын
@@maxgraph Здравствуй, Спасибо за видио, подскажи решение этой проблемы пожалуйста - когда секцию меньше 100vh?
@alexidino
@alexidino 2 жыл бұрын
Что говорит автор на 4:03
@m.s.5610
@m.s.5610 2 жыл бұрын
Потому, что они как бы являются "родителями" для ссылок.
@truedivan
@truedivan 4 жыл бұрын
смотрю codepen вот это для чего добавил? - window.innerWidth > 768
@maxgraph
@maxgraph 4 жыл бұрын
Чтоб это работало выше 768 пикселей :)
@truedivan
@truedivan 4 жыл бұрын
@@maxgraph это понятно - а что если меньше? Не будет работать?
@maxgraph
@maxgraph 4 жыл бұрын
Верно
@serhiikorniichuk865
@serhiikorniichuk865 4 жыл бұрын
Спасибо большое, полезно!
@maxgraph
@maxgraph 4 жыл бұрын
Спасибо)
JS-решения №6. Цветовые темы для сайта
15:47
MaxGraph - cайты как страсть
Рет қаралды 4 М.
JS-решения №12. Базовая анимация при скролле на чистом JS
24:19
MaxGraph - cайты как страсть
Рет қаралды 29 М.
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 71 МЛН
когда не обедаешь в школе // EVA mash
00:57
EVA mash
Рет қаралды 3,6 МЛН
LIFEHACK😳 Rate our backpacks 1-10 😜🔥🎒
00:13
Diana Belitskay
Рет қаралды 3,9 МЛН
Подгрузка картинок при прокрутке. Lazy load
16:33
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 28 М.
JS-решения №15. Фиксированная шапка при скролле вниз и вверх
12:20
JS-решения №8. Адаптивное динамическое меню на чистом JS
29:45
MaxGraph - cайты как страсть
Рет қаралды 4,2 М.
JS-решения №17. Создаем слайдер до-после на чистом js
20:44
MaxGraph - cайты как страсть
Рет қаралды 5 М.
Плавный скролл на сайте на чистом JavaScript
37:44
Стримы Glo Academy
Рет қаралды 3,3 М.
Выпадающее меню на CSS + адаптив под тачскрины
32:46
Фрілансер по життю
Рет қаралды 145 М.
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 71 МЛН