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

147
Views
¿Cómo registrar el tiempo entre los clics del usuario y exportarlo como una matriz una vez que alcanzan los 10000 clics?

Mi código que no funciona (usé jquery):

 $('button').click((function() { var clicks = 0; clicks = clicks + 1; var history = [], last = +new Date(); return function e() { history.push(e.timeStamp - last); console.log(history[history.length - 1]); last = e.timeStamp;} return function c(){ if (clicks == 10000){ alert("10k clicks reached"); alert(history); } } //Tested with (clicks == 1), it would keep on alerting me or wouldn't work at all e(); c(); } ));

HTML

<button>Click me</click>

Cuando hago clic en el botón, no hace nada

Hay alguna manera de arreglarlo?

Esperaba que me alertara una vez que alcanzara una cantidad de clics y exportara la matriz por mí.

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

0

Cambió el número máximo de clics a 3 para facilitar las pruebas, siéntase libre de cambiar a 10000.
Dado que queremos contar los clics y los tiempos entre ellos, esas variables deben estar fuera del controlador de clics porque las variables dentro de un controlador se borrarán después de cada ejecución del controlador.

Pruébalo: https://jsbin.com/lodifej/edit?html,js,output

 let clicks = 0; const timeBetweenClicks = []; const prevClickTimestamp = []; const clickHandler = () => { const currentTime = Date.now(); const previousClickTime = prevClickTimestamp.length ? prevClickTimestamp[prevClickTimestamp.length - 1] : currentTime; timeBetweenClicks.push(currentTime - previousClickTime); // save current time stamp to calculate time difference the next time button is clicked prevClickTimestamp.push(currentTime); clicks += 1; if (clicks === 3) { alert("3 clicks reached. Time between clicks: " + timeBetweenClicks); // remove event listener $('button').off('click', clickHandler); } }; $('button').click(clickHandler);

Nota
Este código da como resultado un valor 0 para la primera diferencia de tiempo. Por ejemplo, para 3 clics, la salida es [0, 255, 1123]. Si eso no es deseable, se puede eliminar al final usando timeBetweenClicks.shift() . Además, los valores están en ms .

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!