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

213
Views
Cargando varias imágenes con Javascript

Actualmente, estoy creando un sistema para mostrar imágenes aleatorias cada 0,5 segundos. Tengo casi 40k fotos +-

Pero tengo problemas para cargar estas imágenes usando Javascript.
1 - Si los cargo demasiado rápido, a veces me "cancelan" como respuesta en la consola. ( https://prnt.sc/1t23k2o )
2: si verifico si la imagen se cargó correctamente para cargar la siguiente imagen, obtengo un retraso y esto da como resultado un cuello de botella que muestra imágenes cada 0,5 segundos. (en carga)

 (function getImages(i) { setTimeout(function() { v++; var r = Math.random(); img.src = "seg/out-" + v + ".jpg?v=" + r; if (--i) getImages(i); }, 500) })(300); // trigger this function 300x

¿Cómo manejo esto? ¿Podría ayudarme a mejorar mi lógica? Gracias.

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

0

Puede intentar precargar una imagen al final del tiempo de espera anterior, así:

 function preLoadImage(src) { const preloader = new Image(); preloader.src = src; } function setImage(src) { img.src = src; } (function getImages(i, currentSrc) { setTimeout(function() { v++; setImage(currentSrc); const r = Math.random(); const nextSrc = "seg/out-" + v + ".jpg?v=" + r; preLoadImage(nextSrc); if (--i) getImages(i, nextSrc); }, 500) })(300);

Déjame saber si te funciona o no.

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!