Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Управление видимостью DIV элемента методами JavaScript

Быстрый ответ

Воспользуйтесь свойством element.style.display в JavaScript для быстрого скрытия или показа div-элемента. Значение 'none' уберет элемент из видимой области, а 'block' наоборот — сделает его видимым.

JS
Скопировать код
function toggleDivVisibility(id) {
  var el = document.getElementById(id);
  // Изучаем, как с помощью JavaScript переключать видимость элементов! 😄
  el.style.display = el.style.display === 'none' ? 'block' : 'none';
}

Чтобы изменить видимость элемента, передайте уникальный ID вашего div в функцию toggleDivVisibility('divID').

Кинга Идем в IT: пошаговый план для смены профессии

Дополнительные методы управления видимостью

Сохранение макета с visibility

Свойство visibility позволяет div-элементу оставаться в потоке документа, даже если он невидим.

JS
Скопировать код
function toggleDivVisibilityKeepLayout(id) {
  var el = document.getElementById(id);
  // Магия CSS: делаем div-элемент невидимым, но макет не нарушаем! 🧙‍♂️
  el.style.visibility = el.style.visibility === 'hidden' ? 'visible' : 'hidden';
}

В отличие от display: none, visibility: hidden просто делает элемент непрозрачным, не удаляя его из потока документа.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Переключение с помощью атрибута hidden

JS
Скопировать код
function toggleVisibilityUsingAttribute(id) {
  var el = document.getElementById(id);
  // Давайте употребим HTML-атрибуты для управления видимостью! 🤓
  el.hasAttribute('hidden') ? el.removeAttribute('hidden') : el.setAttribute('hidden', '');
}

Атрибут hidden семантически обогащает код и упрощает его структуру.

Возврат к стандартным стилям с помощью display: revert

Можно вернуться к стандартным стилям браузера с помощью значения revert в CSS.

JS
Скопировать код
document.getElementById('myDiv').style.display = 'revert'; // Вернуться к исходным настройкам! 🔄

Обратите внимание, что поддержка revert в браузерах не всегда идеальна. Протестируйте его перед использованием в реальном проекте.

Динамическое переключение с помощью классов

Использование классов – это чистый и структурированный подход:

JS
Скопировать код
function toggleVisibilityUsingClass(id, className) {
  var el = document.getElementById(id);
  // Когда работаем с классами в JavaScript, сразу понимаем важность структурированного подхода! 💪
  el.classList.toggle(className);
}

Cоздайте класс .hidden в CSS и управляйте видимостью, передавая функции соответствующее имя класса.

Визуализация

Представьте, что переключение видимости DIV — это игра со светом:

💡 = DIV (видимый) 🕳️ = DIV (невидимый)

Чтобы показать DIV или "включить свет":

JS
Скопировать код
document.getElementById('myDiv').style.display = 'block'; // И в комнате становится светло! 💡

Чтобы скрыть DIV или "выключить свет":

JS
Скопировать код
document.getElementById('myDiv').style.display = 'none'; // И DIV "внезапно исчезает" в темноте. 🕳️

Весь процесс напоминает нажатие на кнопку выключателя света у вас дома. 🎚️

Усовершенствованные сценарии управления видимостью

Уважение к доступности

При управлении видимостью элементов старайтесь учитывать требования доступности: скрытый контент должен корректно восприниматься скринридерами.

Адаптивность видимости

Иногда требуется упростить поведение элемента в зависимости от размера экрана. Синхронизируйте действия JavaScript и CSS-медиа-запросы для грамотной адаптивности.

Плавные анимации и переходы

Добавьте CSS-анимации или переходы для более эстетичного и плавного переключения видимости.

Использование jQuery для управления видимостью

jQuery позволяет управлять видимостью ещё проще:

JS
Скопировать код
$('#myDiv').show(); // Div возвращается на сцену! 🎭
$('#myDiv').hide(); // И снова скрывается от всех глаз! 🐱‍👤
$('#myDiv').toggle(); // Готовы играть в прятки? Вперед! 🙈

Краткость кода — один из плюсов jQuery, но не забывайте учитывать дополнительные расходы при использовании этой библиотеки для таких элементарных задач.

Полезные материалы

  1. Метод getElementById() – Web API | MDN — подробный обзор выборки элементов с помощью JavaScript.
  2. Как переключить видимость элемента — практичное руководство по переключению видимости элементов.
  3. Свойство CSS 'display' — глубокий анализ свойства CSS display.
  4. Свойство classList элемента – Web API | MDN — полное руководство по обращению со значениями классов CSS.
  5. Метод addEventListener() – Web API | MDN — готовый гид по обработке событий для управления элементами.
  6. Использование CSS переменных (кастомных свойств) — полезные советы по использованию переменных для динамического стилизования.
  7. Свойство display DOM HTML — руководство по изменению CSS-свойства display через JavaScript.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какое значение свойства `style.display` делает div-элемент невидимым?
1 / 5