Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ качСствСнного интСрфСйса β€” это всСгда баланс ΠΌΠ΅ΠΆΠ΄Ρƒ эстСтикой ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π‘Π»Π°ΠΉΠ΄Π΅Ρ€ ΠΊΠ°ΠΊ Π½Π° Авито стал стандартом индустрии благодаря своСй простотС, адаптивности ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ Π»ΠΈΡˆΠ½ΠΈΡ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тормозят Ρ€Π°Π±ΠΎΡ‚Ρƒ сайта. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΊ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятной Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ: свайп ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ Π½Π° смартфонС ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠΊ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π½Π° дСсктопС. ИмСнно Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ².

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π΅ просто Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Swiper.js, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… интСрфСйсов. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ, ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Lazy Loading критичСски Π²Π°ΠΆΠ½Ρ‹ для SEO. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тяТСлыС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, Π° сосрСдоточимся Π½Π° чистом JavaScript ΠΈ минимальном Π½Π°Π±ΠΎΡ€Π΅ зависимостСй.

РСализация ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ внимания ΠΊ дСталям, особСнно Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠ³ΠΎ повСдСния Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… устройствах. Touch-события Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ чувствовал Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. НиТС прСдставлСн ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ всСх этапов создания Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, ΠΎΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π΄ΠΎ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки CSS.

Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с инструмСнтариСм. ΠŸΠΈΡΠ°Ρ‚ΡŒ слайдСр с нуля Π½Π° чистом JS ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ это Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΡ‡Π΅Ρ‚Π° сотСн Π±Π°Π³ΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ профСссионалы Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Swiper.js. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° лСгковСсная, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° популярных досках объявлСний.

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ слоТноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. Достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» index.html ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ стили ΠΈ скрипты. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ CDN-вСрсия ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для тСстов, Π½ΠΎ для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π° Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΌΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Π­Ρ‚ΠΎ ускорит Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ ΠΎΡ‚ зависимости ΠΎΡ‚ сторонних сСрвСров.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Swiper, Π° Π½Π΅ Slick ΠΈΠ»ΠΈ OwlCarousel?

Swiper.js ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… свайпов "ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ" ΠΈ обновляСтся Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Ρ‹. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС CSS3, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ 60 FPS Π΄Π°ΠΆΠ΅ Π½Π° слабых устройствах.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Π³ΠΈ link ΠΈ script Π² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ вСрсия Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ старыС вСрсии ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ уязвимости бСзопасности. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° HTML Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ сСмантичСски Π²Π΅Ρ€Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ поисковыС систСмы ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ индСксировали ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ слайдСра.

Базовая HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° слайдСра

Основа любого слайдСра β€” это ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ структура DOM-элСмСнтов. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° Авито, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€Π΅ΠΊΠΈΠ½Π³-элСмСнт с ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. КаТдая ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ слайд, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ Ρ†Π΅Π½Ρƒ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся использованиС классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это swiper для Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ swiper-wrapper для ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ слайдов. НС мСняйтС эти ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ JavaScript-скрипт Π½Π΅ смоТСт Π½Π°ΠΉΡ‚ΠΈ элСмСнты ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π’Π½ΡƒΡ‚Ρ€ΠΈ wrapper Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ элСмСнты swiper-slide.

  • πŸ“¦ ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€: Π—Π°Π΄Π°Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ области просмотра ΠΈ скрываСт всС, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Π΅Ρ‘ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ (overflow: hidden).
  • 🎞️ Wrapper: Длинная Π»Π΅Π½Ρ‚Π°, которая двигаСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ слайдов.
  • πŸ–ΌοΈ Slide: ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π³Π°Π»Π΅Ρ€Π΅ΠΈ, содСрТащий ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ (Ρ„ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°, описаниС).
  • πŸ”˜ Navigation: Кнопки "Π’ΠΏΠ΅Ρ€Π΅Π΄" ΠΈ "Назад", Π° Ρ‚Π°ΠΊΠΆΠ΅ пагинация (Ρ‚ΠΎΡ‡ΠΊΠΈ) Π²Π½ΠΈΠ·Ρƒ.

Π’Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π΅Π³ΠΎΠ². Ошибка Π² структурС div-ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ слайды Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ вмСсто Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π»Π΅Π½Ρ‚Ρ‹. Для стилизации ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ display: flex ΠΈΠ»ΠΈ grid, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ слайда выглядСл Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° HTML-структуры

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Настройка JavaScript ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ HTML Π³ΠΎΡ‚ΠΎΠ², ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ происходит послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ DOM-Π΄Π΅Ρ€Π΅Π²Π°. ΠœΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса Swiper, пСрСдавая Π΅ΠΌΡƒ сСлСктор ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с настройками. ИмСнно здСсь настраиваСтся ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния.

Для достиТСния эффСкта "ΠΊΠ°ΠΊ Π½Π° Авито" критичСски Π²Π°ΠΆΠ΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ slidesPerView. На ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ 1.2 ΠΈΠ»ΠΈ 1.5 слайда, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄Π΅Π» ΠΊΡ€Π°ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ изобраТСния ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ‚Π°Ρ‚ΡŒ. На дСсктопС это число ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4 ΠΈΠ»ΠΈ 5. РСализуСтся это Ρ‡Π΅Ρ€Π΅Π· Breakpoints.

const swiper = new Swiper('.my-slider', {

loop: true,

spaceBetween: 10,

slidesPerView: 1.2,

breakpoints: {

640: { slidesPerView: 2.2, spaceBetween: 15 },

1024: { slidesPerView: 4, spaceBetween: 20 },

},

});

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ spaceBetween Π·Π°Π΄Π°Π΅Ρ‚ отступы ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. На Авито ΠΎΠ½ΠΈ нСбольшиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ экрана. Π’Π°ΠΊΠΆΠ΅ стоит Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ loop: true для бСсконСчной ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Π½ΠΎ Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны: Ссли слайдов ΠΌΠ°Π»ΠΎ (мСньшС, Ρ‡Π΅ΠΌ Π²ΠΈΠ΄Π½ΠΎ Π½Π° экранС), ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ.

πŸ“Š Бколько слайдов Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π° мобильном?
1 (ΠΏΠΎΠ»Π½Ρ‹ΠΉ экран)
1.2 (Ρ‡Π°ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ)
2 (рядом)
3 ΠΈ Π±ΠΎΠ»Π΅Π΅

ΠΠ΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Touch-ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

Главная Ρ„ΠΈΡˆΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… интСрфСйсов β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ касаниями. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swiper ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ touch-события автоматичСски, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΠ½ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ threshold опрСдСляСт, насколько Π΄Π°Π»Π΅ΠΊΠΎ Π½ΡƒΠΆΠ½ΠΎ провСсти ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ слайд ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слишком малСнькоС, слайдСр Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° случайныС касания.

Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΡŽ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅Π·ΠΊΠΎ свайпаСт ΠΈ отпускаСт ΠΏΠ°Π»Π΅Ρ†, слайдСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ»Π°Π²Π½ΠΎ Π΄ΠΎΠ΅Ρ…Π°Ρ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄. Π­Ρ‚ΠΎ создаСт ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ "нативности" прилоТСния. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ speed (Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ) ΠΈ freeMode (Ссли Π½ΡƒΠΆΠ΅Π½ эффСкт ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ скролла Π±Π΅Π· фиксации ΠΏΠΎ слайдам, хотя для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² это Ρ€Π΅Π΄ΠΊΠΎΡΡ‚ΡŒ).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ тСстировании Π½Π° эмуляторах Π² Chrome DevTools touch-события ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. ВсСгда провСряйтС свайпы Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ физичСском устройствС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эмуляторы ΠΌΡ‹ΡˆΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ всС Π½ΡŽΠ°Π½ΡΡ‹ давлСния ΠΈ скорости двиТСния ΠΏΠ°Π»ΡŒΡ†Π°.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ экрана. ΠŸΡ€ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π΅ устройства ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° мСняСтся, ΠΈ слайдСру Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π΄Π΅Π»Π°ΡŽΡ‚ это автоматичСски, Π½ΠΎ Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ кастомныС скрипты, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡŒ события resize Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ обновлСния (update()).

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ SEO

ГалСрСя Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² β€” это "тяТСлый" ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ высокого Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ±ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы (LCP), Ρ‡Ρ‚ΠΎ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ скаТСтся Π½Π° Ρ€Π°Π½ΠΆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² Google. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ здСсь являСтся Lazy Loading. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΈΠ»ΠΈ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π½Π΅ΠΉ.

Π’ Swiper встроСн ΠΌΠΎΠ΄ΡƒΠ»ΡŒ lazy. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π», Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ src Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π½Π° data-src ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ класс swiper-lazy. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Ρ‰Π΅ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ВлияниС
preloadImages false НС Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ сразу, ускоряя старт
lazy true Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π»Π΅Π½ΠΈΠ²ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ
watchOverflow true Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ, Ссли слайдов ΠΌΠ°Π»ΠΎ
observer true Π‘Π»Π΅Π΄ΠΈΡ‚ Π·Π° измСнСниями Π² DOM

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ соврСмСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ WebP ΠΈΠ»ΠΈ AVIF. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠ΅Π΅ качСство ΠΏΡ€ΠΈ мСньшСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Ρ„Π°ΠΉΠ»Π°. Π’ сочСтании с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ это Π΄Π°Π΅Ρ‚ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΡ‹ΠΉ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ srcset для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π—Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹ 300px для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρ‹ 1200px+ для дСсктопов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Бтилизация ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ слайдСр выглядСл ΠΊΠ°ΠΊ Π½Π° Авито, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ лишниС Ρ‚Π΅Π½ΠΈ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ скруглСния ΡƒΠ³Π»ΠΎΠ² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»Π΅Π³ΠΊΡƒΡŽ Ρ‚Π΅Π½ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту (Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ эффСкт coverflow). Однако классичСский ΡΡ‚ΠΈΠ»ΡŒ Авито β€” это плоский Π΄ΠΈΠ·Π°ΠΉΠ½ (Flat Design).

Кнопки Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° дСсктопС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. На ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах стрСлки часто ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ вовсС, полагаясь Π½Π° свайпы, ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ малСнькими ΠΏΠΎ краям экрана. ΠŸΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡ (Ρ‚ΠΎΡ‡ΠΊΠΈ) Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ контрастной, Π½ΠΎ Π½Π΅ навязчивой.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ слайдов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CSS transitions для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ измСнСния ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΈΠ»ΠΈ прозрачности, Π½ΠΎ Π½Π΅ пСрСусСрдствуйтС. Основная Ρ†Π΅Π»ΡŒ β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€, Π° Π½Π΅ Ρ€Π°Π·Π²Π»Π΅Ρ‡ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ анимациями. Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ использованиС эффСктов ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ "ΠΌΠΎΡ€ΡΠΊΡƒΡŽ болСзнь" Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ box-shadow с большим Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΈΠ΅ΠΌ Π½Π° мноТСствС элСмСнтов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ пСрСрисовку слоя (repaint) ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ΄Ρ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ скроллС Π½Π° старых смартфонах.

ЧастыС ошибки ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠ³Π΄Π° слайдСр "ломаСтся", Ссли Π±Ρ‹Π» скрыт Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, находился Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ display: none). Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. РСшСниС β€” Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ swiper.update() Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΊΠ°Π·Π° скрытого Π±Π»ΠΎΠΊΠ°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ошибка β€” ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ вСрсий jQuery, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ старый. Swiper Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° чистом JS, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ jQuery. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‡Ρ‚ΠΎ скрипты Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС. Π’Π°ΠΊΠΆΠ΅ провСряйтС Z-index, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠΈ управлСния Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π»ΠΈΡΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ элСмСнтами страницы.

Если слайдСр Π½Π΅ листаСтся Π½Π° iOS, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π»ΠΈ систСмныС ТСсты Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ваши скрипты. Иногда ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ touch-action: pan-y Π² CSS ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ скролл страницы, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ свайп для слайдСра.

πŸ’‘

Бамая частая ошибка β€” инициализация слайдСра Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ event 'imagesLoaded' ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ссли ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ динамичСскиС.

Вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ (FAQ)

МоТно Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ слайдСр Π±Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° чистом JS?

ВСхничСски Π΄Π°, Π½ΠΎ это ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания сотСн строк ΠΊΠΎΠ΄Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ свайпов, ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ, рСсайза ΠΎΠΊΠΎΠ½ ΠΈ кроссбраузСрности. ИспользованиС Swiper.js ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² экономит дСсятки часов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ слайдов?

Для этого Π² настройках ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ autoplay: { delay: 3000, disableOnInteraction: false }. Π­Ρ‚ΠΎ запустит Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ слайды ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 3 сСкунды, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ΡΡ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ слайдСр Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Internet Explorer?

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ часто dropping support для старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². Если ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IE11 ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π°, Π²Π°ΠΌ понадобится ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π» для Object.assign ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ старая вСрсия Swiper (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, v6), которая Π΅Ρ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° legacy-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ, Ссли слайдов мСньшС, Ρ‡Π΅ΠΌ Π²ΠΈΠ΄Π½ΠΎ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ loopedSlides ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ количСства слайдов. Если слайдов мСньшС, Ρ‡Π΅ΠΌ slidesPerView, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ loop Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дублирования ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ.