Есть ли способ получить хук dom.style changed без async?

Мы знаем, что css animation/transition не работал с display: block и display: none; Поэтому я пытаюсь использовать

someDom.style.transition = '0.3s'
someDom.style.display='block'
someDom.style.opacity=1

для воспроизведения анимации как fadeIn. Но все равно не получается, потому что работает слишком быстро. Я знаю, что setTimeout на этот раз будет работать хорошо, но из-за цикла событий javaScript я не хочу, чтобы он стал асинхронным событием.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
27
1

Ответы 1

Может это решит твою проблему

const item = document.querySelector('.item');

item.style.display = 'block';
item.classList.add('fadeIn');
.item {
  display: none;
  width: 100px;
  height: 100px;
  background: grey;
}

.item.fadeIn {
  animation: fadeIn 1s linear;
  -webkit-animation: fadeIn 1s linear;
  -moz-animation: fadeIn 1s linear;
  -o-animation: fadeIn 1s linear;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
<div class = "item"></div>

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

manglobe 06.07.2018 11:57

Другие вопросы по теме