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

379
Views
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 answers
Answer question

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 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!