Есть ли способ получить измененный хук dom.style без асинхронности? - PullRequest
0 голосов
/ 06 июля 2018

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

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

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

1 Ответ

0 голосов
/ 06 июля 2018

Может быть, это решит вашу проблему

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...