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

368
Visualizações
Arreglar la línea de tiempo de vista previa: reproductor de video HTML / CSS / JS

Creé un reproductor usando HTML/JS/CSS, que subí https://codepen.io/aaron1799/pen/MWVeRYY , uso específico en el servidor real http://auto-rychnov.cz/ , el reproductor funciona correctamente en alta resolución (PC), pero no funciona correctamente en dispositivos móviles, por ejemplo, la vista previa no funciona al pasar el dedo sobre la línea de tiempo. Me gustaria que me aconsejaran como solucionarlo. Thank you in advance ¨

js - parte de la línea de tiempo

 // Timeline timelineContainer.addEventListener("mousemove", handleTimeLineUpdate) timelineContainer.addEventListener("mousedown", toggleScrubbing); document.addEventListener("mouseup", e => { if(isScrubbing) toggleScrubbing(e) }) document.addEventListener("mousemove", e => { if(isScrubbing) handleTimeLineUpdate(e) }) let isScrubbing = false; let wasPaused; function toggleScrubbing(e){ const rect = timelineContainer.getBoundingClientRect(); const percent = Math.min(Math.max(0, ex - rect.x), rect.width)/rect.width; isScrubbing = (e.buttons & 1) === 1; videoContainer.classList.toggle("scrubbing", isScrubbing) if(isScrubbing){ wasPaused = video.paused; video.pause(); } else { video.currentTime = percent * video.duration; if(!wasPaused) video.play(); } handleTimeLineUpdate(e); } function handleTimeLineUpdate(e){ const rect = timelineContainer.getBoundingClientRect(); // ex = position mous, rect.x = position timeline const percent = Math.min(Math.max(0, ex - rect.x), rect.width)/rect.width; // /10 protože mám po 10 vterinach const previewImgNumber = Math.max(1, Math.floor((percent*video.duration)/10)); const previewImgSrc = `video/preview${previewImgNumber}.jpg`; // Uložení cesty k obrazku previewImg.src = previewImgSrc; timelineContainer.style.setProperty("--preview-position",percent); if(isScrubbing) { e.preventDefault(); thumbnailImg.src = previewImgSrc; timelineContainer.style.setProperty("--progress-position", percent); } }

Esto funciona en el navegador de la PC pero no en el móvil ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Los eventos táctiles son más complicados ya que puede haber múltiples toques que deben rastrearse al mismo tiempo en lugar de un cursor del mouse. Puede intentar agregar los siguientes oyentes. Podría hacer el truco o al menos orientarte en la dirección correcta:

 // Timeline add touch listeners timelineContainer.addEventListener("touchmove", handleTimeLineUpdate) timelineContainer.addEventListener("touchstart", toggleScrubbing); document.addEventListener("touchend", e => { if(isScrubbing) toggleScrubbing(e) }) document.addEventListener("touchmove", e => { if(isScrubbing) handleTimeLineUpdate(e) })

Hay mucha más información aquí: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Using_Touch_Events

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