Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

250
Visualizações
El estilo "superior" del elemento HTML que se establece generó un número aleatorio pero no se movió a la posición en JavaScript

He estado trabajando en un proyecto y rehaciendo Snake. Se supone que todo el código establece la posición de la manzana en un número aleatorio y lo registra como si lo hiciera, pero la manzana permanece en el mismo lugar. El tipo de posición es "relativo", por lo que permanece dentro de un cuadro. Esta es la primera vez que uso HTML y Javascript juntos. El código simplemente no funciona (no hay errores ni advertencias). El código de generación de números aleatorios es el siguiente:

 function rand(min, max, step) { var delta, range, rand; if (arguments.length < 2) { max = min; min = 0; } if (!step) { step = 1; } delta = max - min; range = delta / step; rand = Math.random(); rand *= range; rand = Math.floor(rand); rand *= step; rand += min; return parseInt(rand); }

El código para establecer la posición de "manzanas" (en js):

 function generateApple() { let y = parseInt(rand(-15, 470, 15)) apple.style.top = y console.log(apple.style.top) }

Imprime con éxito la nueva ubicación pero no mueve el objeto HTML "manzana" a la posición. Tengo la posición inicial establecida en 15 en style.left y 15 en style.top . El CSS para la manzana es el siguiente:

 .apple { height: 15px; width: 15px; background-color: red; border: 2px; }

El código que establece la posición como relativa cuando se carga la ventana es el siguiente

 window.addEventListener('load', () => { snake.style.position = 'relative'; apple.style.position = 'relative' snake.style.left = 105; snake.style.top = 105; apple.style.top = 15; apple.style.left = 15; if (highScore == null) { window.localStorage.setItem('high_score', 0) } });

El código completo está en este sitio web: https://passionproject.on.fleek.co

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El evento de load de la ventana se activa después de que se haya ejecutado el JavaScript que está posicionando la manzana. Si coloca puntos de interrupción en su código, verá que primero mueve la manzana a la posición correcta y luego se dispara el detector de eventos de load .

Dado que su JS está en la parte inferior de la página, la solución más simple es no usar el detector de eventos de load y simplemente hacerlo de inmediato.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda