Понадобилось сделать плавный переход от одной картинки к другой, средствами javascript, как он есть. То есть, ни тебе jQuery.animate ни ещё чего-нибудь.
Сразу подумалось: “Есть же css-transition, круто!” Быстренько накидал стиль:
1 2 3 4 5 6 7 8 |
|
потом, в скрипте
1 2 3 4 5 6 |
|
Казалось бы, мы добавили img
на страницу,
потом добавили класс fade-in
, прозрачность
должна плавно измениться, правда?
Нет, к сожалению, не правда.
Чтобы прозрачность всё-таки начала изменяться, необходимо (и, вроде бы, достаточно) сделать так:
1 2 3 4 |
|
За время между срабатыванием основного кода и запуском анонимной функции броузер успевает принять картинку, как добавленную и уже после этого добавление класса приводит к изменению прозрачности.
Тестовая страничка на codepen.