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

176
Visualizações
¿Cómo simplemente cargar más del contenido JSON una vez que el usuario se desplaza hasta la parte inferior del div usando vainilla javascript?

De acuerdo, simplemente quiero saber qué debo agregar a mi código JavaScript Vanilla para cargar más contenido una vez que se alcanza la parte inferior de la página/div desplazada (envoltura completa). El código que he incluido funciona bastante bien ya que soy un principiante en JavaScript estándar. Pero necesito ayuda para comprender cómo estructurar onScrollEvents con HttpRequest.

Aquí está mi código:

JavaScript vainilla:

 let page = 1; const last_page = 10; const pixel_offset = 200; const throttle = (callBack, delay) => { let withinInterval; return function () { const args = arguments; const context = this; if (!withinInterval) { callBack.call(context, args); withinInterval = true; setTimeout(() => (withinInterval = false), delay); } }; }; const httpRequestWrapper = (method, URL) => { return new Promise((resolve, reject) => { const xhr_obj = new XMLHttpRequest(); xhr_obj.responseType = "json"; xhr_obj.open(method, URL); xhr_obj.onload = () => { const data = xhr_obj.response; resolve(data); }; xhr_obj.onerror = () => { reject("failed"); }; xhr_obj.send(); }); }; const getData = async (page_no = 1) => { const data = await httpRequestWrapper("GET", `myXML.json`); const { results } = data; populateUI(results); }; let handleLoad; let trottleHandler = () => { throttle(handleLoad.call(this), 1000); }; document.addEventListener("DOMContentLoaded", () => { getData(1); window.addEventListener("scroll", trottleHandler); }); handleLoad = () => { if ( window.innerHeight + window.scrollY >= document.body.offsetHeight - pixel_offset ) { page = page + 1; if (page <= last_page) { window.removeEventListener("scroll", trottleHandler); getData(page).then((res) => { window.addEventListener("scroll", trottleHandler); }); } } }; const populateUI = (data) => { const container = document.querySelector(".whole_wrapper"); data && data.length && data.map((each, index) => { const { photoVar } = image; const { textVar } = text; const { noteVar } = note; container.innerHTML += ` <div class="each_bubble"> <div class="imageContainer"> <img src="${photoVar}" alt="" /> </div> <div class="right_contents_container"> <div class="text_field">${textVar}</div> <div class="note_field">${noteVar}</div> </div> </div> `; }); };
about 4 years ago · Juan Pablo Isaza
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