javascript - 记录按钮点击时间的问题

标签 javascript dom-events

我有一个图像幻灯片实验,其中每个图像每三秒幻灯片一次。我有两个按钮,一个称为“暂停包”,另一个称为“通行包”,在三秒钟内我需要单击“暂停包”按钮。当我单击“暂停包”时,图像会暂停,当我单击“传递包”时,幻灯片将恢复(屏幕上显示另一张图像)。

我的问题是我需要记录暂停图像的秒数。一旦我点击“Pause bag”按钮,就会调用一个名为 btn_pause_click() 的函数,该函数记录图像暂停的秒数,直到点击“Pass bag”。对于第一次单击“通行证包”,我得到了图像暂停的确切秒数,然后幻灯片放映恢复,屏幕上看到另一张图像。当我再次单击它时,我得到的秒数比实际图像暂停的秒数要多。假设第一次点击“Pass bag”时,图像暂停 9.67 秒,然后在另一个图像出现后,假设该图像暂停 6.75 秒,所以当我为此单击“pass bag”时图像我需要得到 6.75。相反,我得到了 9.67+6.75。相反,我只需要记录 6.75。感谢对此的任何想法..

以下是我的“暂停包”按钮单击和“传递包”按钮单击的函数:

function display_pause()
{
     if (milisec_pause>=99)
      {
         milisec_pause=0;
         seconds_pause+=1;
      }
      else
         milisec_pause+=1;
         dpause = seconds_pause + "." + milisec_pause;
         timer_pause = setTimeout("display_pause()",10);
         pause_Timer  = dpause;
}
 

function btn_pause_click()
{
    display_pause();
    document.myForm.btn_pause.disabled = true;
    document.myForm.btn1.disabled = false;
    document.myForm.btn_pass.disabled = false;
    clearTimeout(Timer);
    clearTimeout(msg_Timer);
}

function btn_pass_click()
{
    alert(pause_Timer);
    clearTimeout(pause_Timer);
    pause_Timer = 0;
    milisec_pause=0;
    seconds_pause=0;
    document.myForm.btn_pass.disabled = true;
    document.myForm.btn1.disabled = false;
    document.myForm.btn_pause.disabled = false;
    Timer = setTimeout("slideit()",800);
    if(flag == 1)
    msg_Timer = setTimeout("msg(flag)",500);
}

最佳答案

这里似乎有问题:

  1. timer_pause你的计时器是:

    timer_pause = setTimeout("display_pause()",10); 
    
  2. pause_Timer是当前暂停时间在 <sec>.<millisec> 中的字符串

    dpause = seconds_pause + "." + milisec_pause;
    //...
    pause_Timer  = dpause;
    

但是

  1. 您正在清理 pause_Timer timer_pause这是计时器的变量

    clearTimeout(pause_Timer);
    
  2. 您还设置了 pause_Timer0

    pause_Timer = 0;
    
<小时/>

不考虑其他问题(如果有),您至少应该进行以下更改:

clearTimeout(timer_pause);

接下来,考虑更具描述性且不太可能相互混淆的变量名称!

关于javascript - 记录按钮点击时间的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5738827/

相关文章:

javascript - 如何使用 useState Hook 在 forEach 循环中设置状态

javascript - 防止iOS 11将输入元素放在焦点上

javascript - 如何找到 'parent'节点的 'this'?

javascript - DOM 事件优先级

javascript - 将命名函数绑定(bind)到上下文

javascript - Restful API typescript 和 promise

javascript - 将动态验证文本添加到自定义 jQuery 验证规则

javascript - CSS 饼图切片无法悬停

javascript - 窗口调整大小触发的 DOM 事件

javascript - 如果我捕获了 onclick 事件以在 SVG 文档中缩放和平移,我如何到达 anchor href?