Javascript setTimeout | | requestAnimationFrame动画不平滑

Javascript setTimeout | | requestAnimationFrame动画不平滑,javascript,jquery,css,animation,Javascript,Jquery,Css,Animation,showLoop动画是平滑的,但有时会跳过帧并弄乱,使用css3动画的ease-in属性 function showLoop() { setTimeout(function () { $spans.eq(i).css('opacity', 1); i = i + 1; if (i < count) { showLoop(); if (i == count - 2) dela

showLoop动画是平滑的,但有时会跳过帧并弄乱,使用css3动画的ease-in属性

 function showLoop() {
     setTimeout(function () {
         $spans.eq(i).css('opacity', 1);
         i = i + 1;
         if (i < count) {
             showLoop();
             if (i == count - 2) delay = 800;
         }
     }, 400);
 }
 showLoop();


 function draw() {
     setTimeout(function () {
         if (i < count) {
             requestAnimationFrame(draw);
             //$spans.eq(i).css('opacity', 1);
             $spans.eq(i).fadeIn(400);
             i = i + 1;
             if (i == count.length - 1) {
                 delay = 800;
             }
             if (i == count) {
                 $spans.css('opacity', 0);
                 $(background).css('background', 'rgba(222, 88, 39, .0)');
             }
         }
     }, delay);
 }
函数showLoop(){
setTimeout(函数(){
$spans.eq(i).css('opacity',1);
i=i+1;
如果(i

requestanimationframe不够平滑。我这样做是错误的吗?我应该通过jquery.animation这样做吗?

你能提供一个关于“是”的工作示例吗jquery推荐!如果你想坚持使用纯js,那么从
setTimeout
(s)中获取timerValue,并使用
clearTimeout
清除它们。在创建更平滑的动画时,你应该查看
delta time