хочу реализовать анимацию через css transition, но, к сожалению, элемент не анимируется. все передаваемые свойства в объекте opts верны. причём интересная штука: если для finish задать небольшой таймаут, около 10 мс, то всё отлично работает. такое ощущение, что он неуспевает изменять свойства в DOMе, или изменяет в другой последовательности, не в той, в которой директивы указаны в коде. вариант с таймаутом кажется топорным. из-за чего это происходит? и можно это как-то адекватно разрулить?
if(propertyIsSupported("transition")) {
opts.obj.style.transitionProperty = opts.property;
opts.obj.style.transitionDelay = opts.delay + "ms";
opts.obj.style.transitionTimingFunction = "linear";
opts.obj.style.transitionDuration = opts.duration + "ms";
opts.obj.style[opts.property] = opts.start + "px";
opts.obj.style[opts.property] = opts.finish + "px";
}