Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
Mi sitio web tiembla cuando se desplaza, mientras usa la función "onScroll" para cambiar el tamaño del encabezado y la barra de navegación

Hola a todos,

Estoy trabajando en el sitio web de un pequeño proyecto escolar, y quiero hacer que mi encabezado y barra de navegación cambien cuando me desplace más allá de un punto determinado.

Hasta ahora todo bien, me las arreglé para hacer eso. Sin embargo, hay un punto en el que el sitio web comienza a enloquecer y cambia muy rápido entre los dos estados que configuré, como se puede ver aquí:

https://youtu.be/1GBXIbESnu0

Además, la velocidad del desplazamiento se ralentiza significativamente al llegar al punto de cambio/donde se asusta, aunque supongo que simplemente se debe a que la función se invoca muchas veces.

Como se puede ver en el código, intenté agregar algún tipo de enfriamiento en la función, esto realmente no funcionó (lo probé de algunas maneras más que la que está actualmente en el código).

Usaré el encabezado como ejemplo de código, ya que el encabezado y la barra de navegación se vuelven locos de la misma manera.

HTML

 <header id="header"> <div> <h1 class="invisible">----</h1> </div> </header>

CSS

 header{ background-color: #227C9D; position: sticky; top: 0; z-index: 2; height: 100px; transition: 0.2s; }

JavaScript

 var header; var nav; var delay = 800; var lastChange = 0; function scrollFunction() { header = document.getElementById("header"); nav = document.getElementById("nav"); if (document.body.scrollTop > 50 ) { if (lastChange >= (Date.now())) return; header.style.height = "50px"; nav.style.fontSize = "20px"; } else { if (lastChange >= (Date.now())) return; header.style.height = "100px"; nav.style.fontSize = "40px"; } lastChange = Date.now(); }

Código completo: https://github.com/DefenetlyNotSimon/InfoWebsiteProjekt/blob/beta/styles.css

Si alguien tiene alguna idea o solución, se lo agradecería :D

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!