JavaScript倒数计时器重置后不显示按钮
我正在尝试创建一个带有计时器的html5应用程序。时间在10秒后结束,它将显示一个按钮。假设是,一旦用户点击按钮,将显示一个弹出窗口,它将在变量中计算按钮点击次数并重置计时器。该过程将再次循环。问题是,在用户单击按钮后,计时器第二次完成倒计时后,按钮没有显示 以下是Js代码:JavaScript倒数计时器重置后不显示按钮,javascript,timer,Javascript,Timer,我正在尝试创建一个带有计时器的html5应用程序。时间在10秒后结束,它将显示一个按钮。假设是,一旦用户点击按钮,将显示一个弹出窗口,它将在变量中计算按钮点击次数并重置计时器。该过程将再次循环。问题是,在用户单击按钮后,计时器第二次完成倒计时后,按钮没有显示 以下是Js代码: <!-- Timer countdown --> <script type=text/javascript> var clicks = 0; function showTime
<!-- Timer countdown -->
<script type=text/javascript>
var clicks = 0;
function showTimer(selector, seconds)
{
var startTime = Date.now();
var interval;
function showRemaining()
{
var delta = Date.now() - startTime; // milliseconds
var deltaSeconds = delta / (1000);
if (deltaSeconds < seconds) {
// display minutes remaining
$(selector).text(Math.round(seconds - deltaSeconds));
} else {
$(selector).text(0);
clearInterval(interval);
}
}
interval = setInterval(showRemaining, 1000);
showRemaining();
}
$(document).ready(function()
{
showTimer("#countdown", 10);
});
setTimeout(function()
{
$("#proceed").show();
}, 10000);
//when click button
function onClick() {
clicks += 1;
document.getElementById("proceed").style.visibility="hidden";
alert("Getting the message");
document.getElementById("clicks").innerHTML = clicks;
showTimer("#countdown", 10);
};
</script>
var=0;
功能显示计时器(选择器,秒)
{
var startTime=Date.now();
var区间;
函数showLeving()
{
var delta=Date.now()-startTime;//毫秒
var deltaSeconds=delta/(1000);
if(增量秒<秒){
//显示剩余分钟数
$(选择器).text(Math.round(秒-deltaSeconds));
}否则{
$(选择器).text(0);
间隔时间;
}
}
间隔=设置间隔(剩余,1000);
显示剩余();
}
$(文档).ready(函数()
{
显示计时器(“倒计时”,10);
});
setTimeout(函数()
{
$(“#继续”).show();
}, 10000);
//单击按钮时
函数onClick(){
点击次数+=1;
document.getElementById(“继续”).style.visibility=“隐藏”;
警报(“获取消息”);
document.getElementById(“clicks”).innerHTML=clicks;
显示计时器(“倒计时”,10);
};
这是HTML:
<h1>Test</h1>
<br>
<p ><span id="countdown"></span><br>
Timer Here<br>
<button type="button" id="proceed" onclick="onClick()">Click</button><br>
<a id="clicks">0</a></p>
测试
这里的计时器
单击
0
包含jquery文件链接
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js" type="text/javascript"></script>
你忘了再次显示按钮,按你的方式,它会隐藏起来。删除setTimeout,因为您知道计时器的结束时间,也可以重复它
var点击次数=0;
var区间=-1;
功能显示计时器(选择器,秒)
{
var startTime=Date.now();
函数showLeving()
{
var delta=Date.now()-startTime;//毫秒
var deltaSeconds=delta/(1000);
if(增量秒<秒){
//显示剩余分钟数
$(选择器).text(Math.round(秒-deltaSeconds));
}否则{
$(选择器).text(0);
间隔时间;
$(“#继续”).show();//看这里
}
}
如果(间隔>-1)清除间隔(间隔);
间隔=设置间隔(剩余,1000);
显示剩余();
}
$(函数(){
显示计时器(“倒计时”,10);
});
//单击按钮时
函数onClick(){
$(“#继续”).hide();
警报(“获取消息”);
$(“#点击次数”)。文本(++点击次数);
显示计时器(“倒计时”,10);
};代码>
试验
这里的计时器
单击
0
您是否包括jquery.js文件?我工作得非常出色。非常感谢你。这很有帮助。