Понадобилось сделать плавный переход от одной картинки к другой, средствами JavaScript, как он есть. То есть, ни тебе jQuery.animate()
, ни ещё чего-нибудь.
Сразу подумалось: «Есть же css-transition, круто!» Быстренько накидал стиль:
.image img { |
потом, в скрипте
var $div = document.querySelector('.image'); |
Казалось бы, мы добавили img
на страницу, потом добавили класс fade-in
, прозрачность должна плавно измениться, правда?
Нет, к сожалению, не правда.
Чтобы прозрачность всё-таки начала изменяться, необходимо (и, вроде бы, достаточно) сделать так:
$div.appendChild($image); |
За время между срабатыванием основного кода и запуском анонимной функции браузер успевает принять картинку, как добавленную и уже после этого добавление класса приводит к изменению прозрачности.
Тестовая страничка на codepen.