我有一个简单的旋转轮动画。我正在尝试使用滑块(输入范围)控制旋转轮的速度。我已经成功实现了这一点,但每次更改动画时,动画都会重新开始(跳跃)。寻找解决方案以平稳增加速度。当用户增加滑块的值时,轮子将以增加的速度旋转。
在下面的代码中,#loading是旋转轮。
$(document).on('input', '#slider', function() {
var speed = $(this).val();
$('#speed').html(speed);
$("#loading").css("animation-duration", 50 / speed + "s");
});
#loading {
position: absolute;
width:100px; height:100px; background-color:black;
left: 0;
right: 0;
margin: auto;
transform-origin: 50% 50%;
animation: rotateRight infinite linear;
animation-duration: 0;
}
@keyframes rotateRight {
100% {
transform: rotate(360deg);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="loading"></div>
<input type="range" min="0" max="100" value="0" class="slider" id="slider">
<p>Speed: <span id="speed"></span></p>