transition
css свойство должно оставаться на элементе.
transition
свойство - это то, что делает вращение гладким. Когда он находится в классе, который выполняет вращение, и вы удаляете класс, даже свойство transition
удаляется. Следовательно, конец вращения не является плавным.
Ваш лог c верен, но может использоваться другой класс для применения -webkit-transition: all 0.1s linear;
или для непосредственного применения к элементу. Убедитесь, что он не удаляется при удалении rotated
class.
const myDiv = $('#my-div');
setTimeout(()=>{
myDiv.addClass('rotated');
}, 1000);
div {
width: 100px;
height: 100px;
background-color: red;
transition: all 1s linear;
}
.rotated {
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
transform: rotate(-90deg);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='my-div'>
</div>