Понадобилось сделать плавный переход от одной картинки к другой, средствами 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.