我有一个图像幻灯片的实验,每个图像每三秒钟滑动一次,我有两个按钮,一个叫做“Pause bag”和其他“Pass bag”,在那三秒钟我需要点击“暂停行李“按钮,当我点击”暂停行李“时图像暂停,当我点击”通行证“幻灯片恢复时(屏幕上显示另一个图像)。
我的问题是我需要记录暂停图像的秒数,一旦我点击“暂停包”按钮,就会调用一个名为btn_pause_click()的函数,此函数记录图像的秒数暂停直到“Pass bag”被点击。对于第一次点击“Pass bag”我得到图像暂停的确切秒数,然后幻灯片放映恢复,当我再次点击它时屏幕上会看到另一个图像我得到更多的秒数,然后实际图像暂停,For Suppose say在第一次点击“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);
}
谢谢,
思鲁提
答案 0 :(得分:0)
尝试设置pause_Timer = 0;在调用display_pause();
之前单击暂停按钮答案 1 :(得分:0)
这里似乎有问题:
timer_pause
是您的计时器:
timer_pause = setTimeout("display_pause()",10);
pause_Timer
是当前暂停时间为<sec>.<millisec>
dpause = seconds_pause + "." + milisec_pause;
//...
pause_Timer = dpause;
但是
您要清除pause_Timer
和不 timer_pause
这是计时器的变量
clearTimeout(pause_Timer);
并且您还将pause_Timer
设置为0
pause_Timer = 0;
不考虑其他问题(如果有的话),您至少应该做出这样的改变:
clearTimeout(timer_pause);
接下来,考虑更具描述性且不太可能彼此混淆的变量名称!