Javascript 在单击按钮时记录时间有问题

Javascript 在单击按钮时记录时间有问题,javascript,javascript-events,Javascript,Javascript Events,我做了一个图像幻灯片演示的实验,每个图像每三秒钟滑动一次,我有两个按钮,一个叫暂停包,另一个叫传球包,在这三秒钟内我需要点击暂停包按钮,当我点击暂停包时,图像被暂停,当我点击通过包幻灯片时,屏幕上会显示另一个图像 我的问题是,我需要记录暂停图像的秒数,只要我单击Pause bag按钮,就会调用一个名为btn_Pause_click的函数,该函数记录图像暂停的秒数,直到单击Pass bag。对于Pass bag的第一次单击,我得到图像暂停的精确秒数,然后幻灯片放映继续,当我再次点击它时,屏幕上会出

我做了一个图像幻灯片演示的实验,每个图像每三秒钟滑动一次,我有两个按钮,一个叫暂停包,另一个叫传球包,在这三秒钟内我需要点击暂停包按钮,当我点击暂停包时,图像被暂停,当我点击通过包幻灯片时,屏幕上会显示另一个图像

我的问题是,我需要记录暂停图像的秒数,只要我单击Pause bag按钮,就会调用一个名为btn_Pause_click的函数,该函数记录图像暂停的秒数,直到单击Pass bag。对于Pass bag的第一次单击,我得到图像暂停的精确秒数,然后幻灯片放映继续,当我再次点击它时,屏幕上会出现另一幅图像。我得到的秒数比实际图像暂停的秒数要多。假设在第一次点击“通行包”时,图像暂停9.67秒,然后在另一幅图像出现后,假设该图像暂停6.75秒,所以当我点击这张图片的通行证时,我需要得到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);
}
谢谢


Shruti

尝试设置暂停计时器=0;在“暂停”按钮上,在调用“显示\暂停”之前单击

这里似乎有点不对劲:

计时器\u暂停是您的计时器:

timer_pause = setTimeout("display_pause()",10); 
pause_Timer是当前暂停时间为的字符串

但是

您正在清除pause\u Timer,而不是Timer\u pause,这是计时器的变量

clearTimeout(pause_Timer);
您还将暂停计时器设置为0

不考虑其他问题(如有),您至少应做出以下更改:

clearTimeout(timer_pause);

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

pause_Timer = 0;
clearTimeout(timer_pause);