diff --git a/recipes/slider/index.md b/recipes/slider/index.md index 81ee8a976e..d4eab804da 100644 --- a/recipes/slider/index.md +++ b/recipes/slider/index.md @@ -214,8 +214,10 @@ tags: } .slide-img { + display: block; inline-size: 100%; block-size: 225px; + max-block-size: 225px; object-fit: cover; } @@ -233,9 +235,14 @@ tags: } .slide { + display: none; text-align: center; } +.slide--active { + display: block; +} + @media (max-width: 768px) { .slider { max-inline-size: 260px; @@ -261,6 +268,7 @@ tags: document.addEventListener('DOMContentLoaded', function () { const slider = document.querySelector('.slider') const slides = slider.querySelectorAll('.slide') + const activeSlides = 'slide--active' const slideCount = slides.length const controlButtons = slider.querySelectorAll('.button-radio') const prevButton = slider.querySelector('.button-prev') @@ -272,7 +280,11 @@ document.addEventListener('DOMContentLoaded', function () { function updateSlider() { slides.forEach((slide, index) => { - slide.hidden = index !== currentSlide + if(index === currentSlide) { + slide.classList.add(activeSlides) + } else { + slide.classList.remove(activeSlides) + } }) controlButtons.forEach((button, index) => { @@ -450,13 +462,13 @@ document.addEventListener('DOMContentLoaded', function () { ``` -Слайды, которые не видны, скрываем не только визуально, но и для пользователей вспомогательных технологий. Для этого используем HTML-атрибут [`hidden`](/html/hidden/). Атрибут добавляем не сразу, а с помощью JavaScript только после окончания парсинга страницы. +Слайды, которые не видны, скрываем не только визуально, но и для пользователей вспомогательных технологий. Для этого используем CSS-свойство [`display: none`](/css/display/) для всех слайдов по умолчанию. Для активного слайда добавим класс `.slide--active` с другим значением у `display` — `none`. Это активный слайд: ```html