es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿setTimeout() funciona de manera diferente en diferentes horas?

Actualmente estoy tratando de obtener un efecto de sonido repetitivo, que se va volviendo más lento con el tiempo utilizando setTimeout() en sincronía con una animación. Tan pronto como lo logre en sincronía, funcionará y se mantendrá así durante el tiempo que esté trabajando en el programa. Pero ahora, cuando estuve ausente durante aproximadamente 1 hora y media, y ejecuté de nuevo el programa exactamente como lo dejé, el sonido ya no está sincronizado con la animación. Lo mismo me ocurrió ayer con el mismo programa cuando estuve ausente por algún tiempo y durante la noche.

Entonces, estaba pensando que setTimeout() de alguna manera está funcionando con el tiempo actual y funcionará de manera diferente en diferentes momentos. ¿Puede alguien confirmar esto?

Aquí está mi código como referencia.
La función timeout:

const timeoutRollSound = (time = 0, index = 0) => {
  setTimeout(() => {
      const audioClick = new Audio(
        "foo/bar.wav"
      );
      audioClick.play();
      index++;
      timeoutRollSound(0.05 * Math.pow(index, 2) + 3 * index - 50, index)
    }, time);
};

La animación:

$(".itemToAnimate").animate(
  { right: endpoint },
    {
      duration: 10000,
      easing: "easeOutQuint",
    }
);
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Pregunta sobre la función setTimeout() en sincronía con la animación

    Descripción

    Como experto en TI especializado en JavaScript, jQuery y setTimeout(), un usuario ha implementado un programa que incluye un efecto de sonido repetitivo en sincronía con una animación utilizando la función setTimeout(). Sin embargo, al regresar al programa después de algún tiempo, el efecto de sonido ya no está en sincronía con la animación. Este problema ocurrió tanto cuando el usuario estuvo ausente por un corto período de tiempo como durante la noche.

    Pregunta

    El usuario sospecha que la función setTimeout() puede estar funcionando con la hora actual, lo que hace que cambie su comportamiento en diferentes momentos. El usuario busca confirmación de si esto es cierto.

    Código de referencia

    La función de timeout:

    const timeoutRollSound = (time = 0, index = 0) => {
      setTimeout(() => {
          const audioClick = new Audio(
            "foo/bar.wav"
          );
          audioClick.play();
          index++;
          timeoutRollSound(0.05 * Math.pow(index, 2) + 3 * index - 50, index)
        }, time);
    };
    

    La animación:

    $(".itemToAnimate").animate(
      { right: endpoint },
        {
          duration: 10000,
          easing: "easeOutQuint",
        }
    );
    

Comments are closed.