Анимация при прокрутке (скролле) страницы на HTML CSS и JavaScript

Поделиться
HTML-код
  • Опубликовано: 31 май 2024
  • Анимация при прокрутке (скролле) страницы очень полезно для повышения удобства пользования вашим сайтом. К тому же это очень красиво и современно. В этом видео я пошагово покажу как анимировать элементы при прокрутке страницы без тяжелых библиотек используя HTML CSS и JavaScript.
    👉Урок CSS Transition - • Все о CSS переходах (t...
    👉Урок CSS Transform - • CSS transform. 2D и 3D...
    👉 Для ленивых, архив с готовым кодом на патреоне - / 40076667
    🔴 Получить доступ к плюшкам + поддержать канал: / freelancerlifestyle
    🔴 Telegram канал: t.me/freelancer_lifestyle (teleg.run/freelancer_lifestyle)
    🔴 Telegram чат по верстке: t.me/flschat (teleg.run/flschat)
    🔴 Facebook: / freelancerlifestyle
    🔴 Instagram: / freelancer.lifestyle
    Содержание:
    00:00 - Введение, подготовка к работе
    01:21 - Настройка анимации в CSS
    03:38 - Пишем JavaScript код
    13:46 - Примеры применения анимаций при скролле
    22:22 - Итоговый результат
    👋 Меня зовут Женя Андриканич, я IT - специалист, занимаюсь разработкой сайтов. На этом канале, я регулярно и в максимально доступном формате буду делиться с тобой своим опытом, наработками, секретами и лайфхаками!
    Ссылка на канал: / freelancerlifestyle
    🤟 Живи, а работай в свободное время! ©

Комментарии • 406

  • @FreelancerLifeStyle
    @FreelancerLifeStyle  3 года назад +19

    🤟Полезно?
    🔴 Получить доступ к плюшкам + поддержать канал: www.patreon.com/freelancerlifestyle
    🔴 Telegram канал: t.me/freelancer_lifestyle (teleg.run/freelancer_lifestyle)
    🔴 Telegram чат по верстке: t.me/flschat (teleg.run/flschat)
    🔴 Facebook: facebook.com/freelancerlifestyle
    🔴 Instagram: instagram.com/freelancer.lifestyle

    • @user-je1xd6sd4s
      @user-je1xd6sd4s 3 года назад +1

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

    • @nitagas187
      @nitagas187 3 года назад

      Фрилансер по жизни - IT и фриланс Подскажи пожалуйста как сделать чтобы фон оставался на месте и при скролле страницы тексты, каждый текст со своим фоном прокручивался на верх как тут 0:22

    • @user-je1xd6sd4s
      @user-je1xd6sd4s 3 года назад +2

      @@nitagas187, либо вешаешь на body картинку и делаешь её фиксированной или в любое место добавляешь картинку делаешь её fixed. И zindex минус один допустим.

    • @user-je1xd6sd4s
      @user-je1xd6sd4s 3 года назад

      Точнее не в любое место. А чтобы у этой картинки был лишь один родитель-body

    • @PupaLupaZ
      @PupaLupaZ 3 года назад

      Братишка, подскажи, что за расширение в VSCode со снипетами? Пахом с Епифаном спрашивают.

  • @user-nq5rk4np6e
    @user-nq5rk4np6e 2 года назад

    Спасибо вам огромное, ваши видео кардинально меняют представление о, казалось бы, таких сложных моментах. Здорово, что вам пришла в голову снимать подобные ролики.

  • @elkhanhamet2561
    @elkhanhamet2561 3 года назад +1

    Красавчик Женя!!! Я так долго искал урок по этой теме, и вы великолепно все разъяснили показали. Спасибо вам огромное.

  • @jasonborn4373
    @jasonborn4373 Год назад

    Сморю этого человека уже почти год! Нету слов просто,
    низкий поклон! спасибо!

  • @timkabaltabaev6085
    @timkabaltabaev6085 3 года назад +1

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

  • @abolnikov
    @abolnikov 3 года назад

    Только наткнулся на это видео, видать колокольчик забыл. Но уже заинтриговало. Представляю как мои заготовки оживут после просмотра. Спасибо за такие вот видео. Очень полезно и помогает в развитии.

  • @user-en9dz9ow6u
    @user-en9dz9ow6u 3 года назад +76

    Я:Только вчера задумался над такой анимацией на сайте.
    Жека: вот держи!

    • @FreelancerLifeStyle
      @FreelancerLifeStyle  3 года назад +6

      Спасибо!

    • @blodorn7895
      @blodorn7895 3 года назад +1

      @@FreelancerLifeStyle это тебе спасибо, я пол инета перерыл в поисках решения)

    • @blodorn7895
      @blodorn7895 3 года назад +1

      @@FreelancerLifeStyle а самое главное, что обьясняешь не на древнеэльфийском, а на понятном языке)
      ты топчик!

    • @narekhayrapetyan5542
      @narekhayrapetyan5542 2 года назад

      @@FreelancerLifeStyleвсем привет а почему анимация не работает на андроиде ?

  • @eduardsakulin8700
    @eduardsakulin8700 2 года назад +1

    Жека, человечище с большой буквы. Разложил все по полкам. Очень годно. Спасибо ОГРОМНОЕ!!

  • @alexles5003
    @alexles5003 3 года назад +2

    Спасибо. Очень доходчиво объяснили механизм добавления такой анимации
    Мне лично не особо нравится когда на сайте все летает и ездит. Но любое желание заказчика... А благодаря вам мы знаем как это желание в жизнь воплотить.

  • @DenisZagvozdin
    @DenisZagvozdin 3 года назад +32

    Спасибо тебе за бесплатные и невероятно качественные уроки! Ты - один из немногих, кто показывает всё с нуля и на чистом JS. Не всегда хочется пользоваться сторонними библиотеками и всякими jquery. Спасибо и за это! Продолжай делать контент и помни: живи, а делай годный контент в свободное время

  • @koesh4696
    @koesh4696 2 года назад

    Чем больше узнаю, тем больше понимаю что изучать и изучать ещё оооочень много! Спасибо Жека!

  • @user-xr4rd3pm1v
    @user-xr4rd3pm1v 3 года назад +1

    Спасибо большое за такое подробное описание и коментирование кода!
    Всё работает))

  • @johndoe4016qweasd
    @johndoe4016qweasd 3 года назад +4

    Большое спасибо тебе за твою работу! Канал просто бомба, для меня как новичка это просто кладязь полезной и интересной инфы.
    Отдельно благодарю за качество монтажа, это просто нечто)

  • @anutasolnechnaya8297
    @anutasolnechnaya8297 3 года назад +2

    Как мне нравится твой канал!!! Все понятно и очень нравится твой стиль преподавания!!!

  • @zmeygorynych5684
    @zmeygorynych5684 3 года назад +6

    Сложный js простыми словами от Жеки) Спасибо, огромный вклад в наше образование)

  • @shukonfadah5725
    @shukonfadah5725 2 года назад

    все ваши виде это лучшее что можно найти на русскоязычном сегменте! вы самый лучший! Я поддерживаю вас во всём! желаю мира и спокойствия вашей стране и семье!!!

  • @aleksgbr3878
    @aleksgbr3878 3 года назад +3

    80к Жека, мои поздравления!))) Урок по скроллу супер полезный спасиб!!!

  • @demendarkness5562
    @demendarkness5562 5 месяцев назад

    Лучший! Спасибо! Только твои туторы адекватно работают с первого раза!

  • @moi-nick-zanyat
    @moi-nick-zanyat 2 года назад +1

    просто огромное количество информации в одном ролике, обязательно навешаю ко всему)

  • @xarex785
    @xarex785 10 месяцев назад

    Один из самых крутых каналов, очень много полезного. Спасибо большое!

  • @george_m641
    @george_m641 3 года назад +2

    Наконец-то!!! Всё время хотел понять как это работает, да всё руки не доходили.Спасибо большое!

  • @egoryurchenko7343
    @egoryurchenko7343 3 года назад +14

    Как раз то что нужно мне сейчас для заказа) Спасибо! лайк

  • @user-tm4ih7wm2i
    @user-tm4ih7wm2i Год назад +1

    Огромное спасибо за годную информацию! Ваши видео помогают мне во многом!

  • @stp9ua
    @stp9ua 11 месяцев назад +1

    видео наверное полезное для тех кто только начинает изучать фронт.
    Но даже в этом случае лучше бы сказать что так делать можно но не желательно.
    Потому что есть Intersection Observer API

  • @xxFursiKxx
    @xxFursiKxx 3 года назад +2

    то, что я искала! Спасибо! тысяча плюсиков в карму)))

  • @user-dt4lk6mf7n
    @user-dt4lk6mf7n 3 года назад +8

    Буквально каждое видео - невероятно годный контент. Не канал, а сокровище. Очень рад, что встретил его. Спасибо большое и удачи!

  • @user-um5vx4ez1p
    @user-um5vx4ez1p 3 года назад +9

    Ура! Злободневный вопрос! Сейчас буду смотреть! Лайк поставил сразу 😜

  • @Shadow9402
    @Shadow9402 3 года назад +2

    Отличный урок, Женя, спасибо большое! Обучаюсь только по твоим видео 👍

  • @anastasea9101
    @anastasea9101 3 года назад

    Женя, это огонь!! Спасибо!!

  • @bio.Minecraft
    @bio.Minecraft 3 года назад +7

    вообще не разбираюсь в Js, по рекомендации зашёл. Интересно стало, и тут пожалуйста, все очень понятно. Немного посидел, переписал, все сделанное, буду учить дальше). Спасибо большое за информацию!

  • @user-vi3rc7jr3n
    @user-vi3rc7jr3n 2 года назад

    Женя, спасибо за видео! Супер!

  • @TheFastmind
    @TheFastmind 2 года назад

    Спасибо. Искал везде материал и опять нашел то, что нужно у тебя)).

  • @anastasiyaiko444
    @anastasiyaiko444 3 года назад

    Супер, спасибо! Столько тонкостей показал.

  • @Sobanim
    @Sobanim 3 года назад +1

    Как всегда всё супер!) Большое спасибо)
    Только вот, хотел бы ещё увидеть видео от Вас, о том, как сделать анимированный счётчик (клиентов, заказов), где при скроле на элемент идёт отсчёт от 0 до заданного значения. В лендингах такое часто используется

  • @maksrygaev3900
    @maksrygaev3900 3 года назад +2

    Спасибо за скрипт Жека! Шикарный урок как всегда! Обнял

  • @dmitrid.317
    @dmitrid.317 3 года назад +2

    Ай да Жека! Всегда умеет порадовать годнотой! Лайкос однозначно)

  • @anvar_music
    @anvar_music Год назад

    Очень классно выглядит, правда понял только суть. Завтра попробую за видео повторить. Урок очень качественный. Лайк подписка.

  • @user-bs2wu7sv9j
    @user-bs2wu7sv9j 3 года назад +10

    Спасибо за внятный и понятный урок. Жаль, так мало людей Вам поставили одобрительную оценку из тех, кто просмотрел видео (

  • @user-cl4nn5qc5k
    @user-cl4nn5qc5k Год назад

    Дякую, гарний приклад ))
    Дякую за твої труди)

  • @user-qm5xf8bc4w
    @user-qm5xf8bc4w Год назад

    Рома дуже дякую тобі за урок, черпаю спокій та рівновагу, дуже цінні знання. Мирного неба

  • @jusikXL
    @jusikXL 3 года назад +6

    Очень нужная инфа, спасибо!

  • @user-so7im7nx7s
    @user-so7im7nx7s 3 года назад

    Спасибо, пол дня убил чтобы найти как это сделать без библиотек. Обычно на ютубе ничего путного никогда не находил, но потеряв надежду что то найти решил написать, и нашел!

  • @elenarizhankova6316
    @elenarizhankova6316 2 года назад

    Спасибо огромное!! всё по сути и понятно!

  • @user-nb1is5wc4k
    @user-nb1is5wc4k Год назад

    Спасибо! Не всё, конечно, понятно, но есть над чем поломать голову. Отличный урок!

  • @yuriybondaruyk1145
    @yuriybondaruyk1145 3 года назад +1

    Спасибо!
    Как всегда - то, что нужно!)

  • @user-iy2hd6ix9j
    @user-iy2hd6ix9j 3 года назад

    Великолепно! Спасибо большое!

  • @thevalkk5301
    @thevalkk5301 3 года назад +3

    Как всегда топ! Спасибо, Жека

  • @user-ch4gd5sb7z
    @user-ch4gd5sb7z 3 года назад

    Спасибо! Круто, как всегда 😉

  • @amily-sky
    @amily-sky 3 года назад +1

    Как Вы делаете анимацию на сайтах? Используете ли animate.css и wow.js или делаете на чистом js? Актуально ли в 2021 использовать animate.css?

  • @xakxkux8381
    @xakxkux8381 3 года назад +2

    невероятно полезное видео!
    благодарю за контент
    успехов

  • @user-ut5ii2yu6o
    @user-ut5ii2yu6o 2 года назад

    Фрилансер, благодарю! Все получилось!!!

  • @ye5275
    @ye5275 3 года назад +6

    Только увидела новое видео - сразу лайк, а потом уже смотреть.

  • @user-br2zc5sb6v
    @user-br2zc5sb6v 2 года назад

    Спасибо за видосы, просто The Best!!

  • @user-gc2df1mn8v
    @user-gc2df1mn8v 3 года назад

    Спасибо за разбор, хотел уточнить - Вы не упоминаете про оптимизацию использования события scroll для того, чтобы не усложнять материал или на то есть другие причины? Я имею в виду throttling или requestAnimationFrame

  • @TheMuxacb
    @TheMuxacb 3 года назад +1

    Как же я ждал этого видео ))

  • @artikor8071
    @artikor8071 3 года назад +1

    Полезная. Информация. Проверять я ее конечно же буду :D
    +идея для видео - блочный скроллинг (fullpage.js)

  • @marinaermilova7912
    @marinaermilova7912 3 года назад

    Привет, еще как полезно и интересно. Спасибо большое.

  • @glebkabayjanov5646
    @glebkabayjanov5646 3 года назад

    Ну что сказать просто ЛУЧШИЙ !!!!!!!!!!!!!!!!!!!!!

  • @SirKotelok
    @SirKotelok 3 года назад +3

    Тем кто пишет в scss будет полезно.Если есть какие-то предложения или коррективы по миксину - пишите :)
    @mixin scroll-appearance($X, $Y) {
    transition: all 1s ease-in-out 0s;
    transform: translate($X, $Y);
    opacity: 0;
    &._active {
    transform: translate(0px, 0px);
    opacity: 1;
    }
    }

  • @kotbarsik9613
    @kotbarsik9613 3 года назад

    Спасибо, полезное видео)

  • @tatigif7451
    @tatigif7451 3 года назад

    красавчик ))) спасибо за видосы !!!!

  • @spr1ng586
    @spr1ng586 3 года назад +1

    Только вчера искал как это сделать ничего не нашёл и сегодня ты делаешь такой подарок спс^

  • @iventeye
    @iventeye 3 года назад +3

    Спасибо, Жека! Давно хотел узнать как это можно делать без библиотек на чистом js и теперь буду использовать.

    • @FreelancerLifeStyle
      @FreelancerLifeStyle  3 года назад +1

      Супер!

    • @user-je1xd6sd4s
      @user-je1xd6sd4s 3 года назад

      Не рентабельно

    • @iventeye
      @iventeye 3 года назад

      @@user-je1xd6sd4s а что рентабельно?

    • @user-je1xd6sd4s
      @user-je1xd6sd4s 3 года назад

      @@iventeye затраты, время. Хорошо когда вы работаете чисто на себя и один. В остальном есть множество библиотек для этого дела, а если там нет функционала его можно дописать. Вот смотрите у вас есть задача, построить многофункциональный сайт. Для этого обычно либо используют фреймворк или уже примерно заточенные модули на cms под вашу задачу. Вопрос: зачем строить свой велосипед, если уже есть машина, которая вас возит. (аналогия думаю понятна). Да бывают случаи когда нужно что то разработать почти с нуля, но такого на практике не много, получается нет смыла разрабатывать что то заново. Тот же бустрап, вы же не собираетесь его выкидывать, у него хорошая мультиплатформенная сетка. Да согласен может немного тяжеловесна, в этом случае берут за основу чисто расработанную сетку и убирают все остальное, т.к. В большинстве случаев стили будут применяться другие. Я все это к чему: если есть что то готовое, используйте по максимуму. Если вы будете разбираться как и где все это работает до мелочей, уйдёт куча времени, а если вы работаете в компании, это время могло пойти на другие полезные вещи

    • @user-je1xd6sd4s
      @user-je1xd6sd4s 3 года назад

      В тех же библиотеках можно просто вырезать некую функциональность, которая вам не понадобится. За счёт этого уменьшится вес, плюс вы в большей степени защищены от багов, чем при разработке своего скрипта. Рекомендую использовать туже самую AOS. Вырезать все что вам не нужно и использовать. Зато вы будете уверены что все будет работать как надо

  • @maxim7603
    @maxim7603 3 года назад

    Спасибо, классное видео

  • @alexkreyn386
    @alexkreyn386 3 года назад +1

    Как всегда на высоте, вот только в силу обыденности уже лень писать подобные комментарии, ведь и без них и дураку все понятно) теперь ждём js ♥️♥️♥️

  • @user-kh9ed9jv5d
    @user-kh9ed9jv5d 3 года назад

    Благодарю!! Круто!!

  • @felix9091
    @felix9091 3 года назад

    Спасибо большое!

  • @user-zu6ei1dn6z
    @user-zu6ei1dn6z 3 года назад +1

    Максимально полезное видео!

  • @Andrey_Mendel
    @Andrey_Mendel 2 года назад

    Круто! Есть куда стремиться)) Видел такую анимацию у девушки веб-дизайнера на её сайте.

    • @Andrey_Mendel
      @Andrey_Mendel Год назад

      Повернувся до відео - це коли ти вже розумієш, що пишеться в js - супер!

  • @andreyglavatskikh6403
    @andreyglavatskikh6403 2 года назад

    Очень помогло, спасибо

  • @mikekuibyshev4848
    @mikekuibyshev4848 3 года назад +13

    Уже час сижу и не понимаю почему ошибка в консоле(

  • @user-vx7ro1hs1h
    @user-vx7ro1hs1h 3 года назад +1

    Спасибо за ролик!

  • @nermers5029
    @nermers5029 3 года назад

    Я уже обыскался, как сделать такую анимацию. Спасибо тебе огромное

  • @gros_chat_noir
    @gros_chat_noir Год назад

    Дякую! Очень полезный урок!

  • @user-eb3yr9wc4k
    @user-eb3yr9wc4k 3 года назад +1

    Евгений огромное спасибо !!!!!

  • @walkingdolphin9513
    @walkingdolphin9513 2 года назад

    очень нравятся видяшки, и все эти эффекты 😎😊🤩

  • @diasoralbekov6465
    @diasoralbekov6465 3 года назад

    видно как ты кайфуешь в конце от проделанной работы

  • @user-yn7sn7tz3m
    @user-yn7sn7tz3m 2 года назад

    Привет) А на сколько актуально сейчас использовать Intersection Observer для отслеживания появления элемента на экране?
    Мне кажется, что сейчас Intersection Observer API имеет достаточную поддержку, что бы об этом думаешь?

  • @TheMuxacb
    @TheMuxacb 3 года назад

    подскажите пожалуйста, ато сам никак не доеду)) Поставил я анимацию на элементы слайдера. Вопрос: как сделать, чтобы анимация начинала выполняться в момент загрузки слайда? Сейчас получается, что анимацию можно увидеть только на первом слайде, так как она выполняется одновременно на всех слайдах. Спасибо.

  • @hypnoZzzable
    @hypnoZzzable 3 года назад

    Привет, Жэка! Крутой урок, как раз для заказа прямо сейчас нужен. Однако, возникла проблема. На некоторые элементы анимация сильно запаздывает. Пробовал увеличивать значение animStart, не помогает... В чем может быть проблема, подскажи?

  • @user-qk9cb4mk2o
    @user-qk9cb4mk2o 3 года назад

    спасибо огромное, очень помог

  • @user-su1vo4wg2t
    @user-su1vo4wg2t 3 года назад

    как всегда топовый контен!

  • @gio2156
    @gio2156 3 года назад

    а я думал это сложно, думал всякие плагины нужно подключать, которые понять сложнее и гораздо дольше, и подключал, лол, даже не пытался написать все руками, спасибо Жека! за почти что год я на ютубе лучше тебя никого не нашел, ни на англоязычном ни на ру

  • @anastasiyaiko444
    @anastasiyaiko444 3 года назад

    Супер!

  • @vladislavbondarenko5190
    @vladislavbondarenko5190 3 года назад +2

    Жека спасибо за видос как всегда на высоте

  • @yellowmind
    @yellowmind 3 года назад +7

    Только посмотрел про параллакс, а тут и анимация появилась. Спасибо, Жека! очень пригодится 🤔

  • @user-tu2co6py2h
    @user-tu2co6py2h 3 года назад

    Вместо простыни js кода можно было использовать библиотеку Waypoints. И DOMContentLoaded не стоит забывать.
    И я бы выделил стили анимации в отдельные классы, например .anim_fade_up .anim_fade_left что бы в будущем переиспользовать.
    Узнал кое-что новое. Спасибо.

  • @dmitrys5369
    @dmitrys5369 3 года назад +2

    Женя, живи вечно! Ты сила!

  • @sonyachna_jul
    @sonyachna_jul 2 года назад +1

    Спасибо большое!)))

  • @user-gi5in2xh2y
    @user-gi5in2xh2y 3 года назад

    Круто, спасибо!

  • @user-gw6vn6vx8o
    @user-gw6vn6vx8o 2 года назад

    Спасибо!

  • @user-fv1qs6ur2h
    @user-fv1qs6ur2h 3 года назад

    Спасибо ! )

  • @TheVer0n
    @TheVer0n 3 года назад +1

    ты очень крут) спасибо за урок

  • @frosty6191
    @frosty6191 Год назад

    Женя, здравствуйте. Я не совсем понимаю. Я никак не нашел у вас в HTML файле подключение Java файла.

  • @imma5330
    @imma5330 3 года назад

    Просто топчик!

  • @user-tl5tr6ds3d
    @user-tl5tr6ds3d 3 года назад

    Видео супер

  • @serhiipeksymov3739
    @serhiipeksymov3739 3 года назад +1

    Круто!💪

  • @SuperRAilya
    @SuperRAilya Год назад +2

    8:46
    11:54 не анимировать когда скролишь вверх
    13:30 анимация текста при скроле
    15:39
    17:33 анимация изображения + текст
    19:32 поочередное появление
    (комментарий для себя)

  • @user-kz5go4mp8w
    @user-kz5go4mp8w 3 года назад

    Жека, если я правильно понял, даже при малейшем скролле будет запускаться цикл снова и снова. Это не большая нагрузка на страницу?

  • @Atelier155
    @Atelier155 3 года назад +1

    Спасибо большое