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

209
Views
Cómo agregar una clase a cada li cada vez que se desplaza hacia ella con jquery

Tengo una lista con muchos li Me gustaría agregar una clase a cada li solo cuando me desplazo a ese li específico El problema es que la clase se agrega a cada li una vez que me desplazo a solo 1 de ellos

 $(window).scroll(function(e) { var y = $(document).scrollTop(); var h = $(window).height(); var t = $('li.product'); var length = t.length; for(var i=1;i <= length;){ var number = 'li.product:nth-child('+i+')'; if(y + h > $(number).position().top){ $(number).addClass("animate__animated animate__fadeInDown"); } i++; }});

Gracias de antemano

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

No pude encontrar el problema con su código, así que hice otra versión de su código. Puede encontrarlo en https://codepen.io/beneji/pen/RwLQLVV .

El código usa .each en lugar de un bucle for que se ajusta mejor en este caso.

Puedes ajustar este código a tu caso particular.

 $(window).scroll(function(){ const scrolling_position = $(window).scrollTop() const window_height = $(window).height() $("li.product").each(function(){ const product_position = $(this).position().top if(product_position <= scrolling_position + window_height) $(this).addClass("animate__animated animate__fadeInDown") // replace this by whatever class you want }); })
about 4 years ago · Juan Pablo Isaza Report

0

Considera lo siguiente.

 $(window).scroll(function(e) { var y = $(document).scrollTop(); var h = $(window).height(); var t = $('li.product'); t.each(function(i, el) { if ((y + h) > $(el).position().top) { $(el).addClass("animate__animated animate__fadeInDown"); } }); });

Esto no se probó porque no proporcionó un ejemplo mínimo y reproducible .

Usando .each() podemos iterar cada uno de los elementos. i es el Índice y el es el Elemento mismo.

about 4 years ago · Juan Pablo Isaza Report
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!