停止重复设置计时器函数jQuery
我不支持jquery,但我只是做了一个简单的代码来显示一个div,然后用10秒计时器单击另一个div 这是我的代码:停止重复设置计时器函数jQuery,jquery,time,timer,set,Jquery,Time,Timer,Set,我不支持jquery,但我只是做了一个简单的代码来显示一个div,然后用10秒计时器单击另一个div 这是我的代码: $(document).ready(function() { $('.link').click(function() { $('#my-timer').fadeIn('slow'); var settimmer = 0; $(function(){ setInterval(function() {
$(document).ready(function() {
$('.link').click(function() {
$('#my-timer').fadeIn('slow');
var settimmer = 0;
$(function(){
setInterval(function() {
var timeCounter = $("b[id=show-time]").html();
var updateTime = eval(timeCounter)- eval(1);
$("b[id=show-time]").html(updateTime);
if(updateTime == 0){
$('#my-timer').hide();
$('.download').fadeIn('slow');
}
}, 1000);
});
});
$(".download").hide();
$("#my-timer").hide();
});
HTML:
链接
下载
页面将在10秒内以重定向
演示:
我的问题是:
1:当第一次点击链接时,一切正常,但我需要只显示一次这个计时器!在演示中,你们可以看到,每10秒后,若你们点击链接,定时器将启动,并像这样计数,-1,-2,-3,-4。。。如何在10秒后停止并禁用此计时器?我需要在10秒后禁用计时器
2:我需要显示这个计时器10秒,但如果你点击链接词3-4次,计时器就会工作得很快!我想我的问题是定时器的速度!我不知道如何解释这个问题,但你可以尝试在演示链接,只需点击链接4-5次,看看定时器
最后一个问题,我不知道我的代码是否标准。我需要更改代码还是正确
谢谢您可以使用jQuery函数和本机JavaScript函数
演示:您可以使用jQuery函数和本机JavaScript函数
演示:我认为最简单的处理方法就是使用
one
。由于您只希望此事件触发一次,one
将在第一次单击后解除处理程序的绑定
$('.link').one("click", function() {
您还需要使用clearInterval
在完成间隔后停止间隔
在相关说明中,不要使用eval
。在这种情况下,您应该使用parseInt
,或者在javascript变量中维护数字
我认为最简单的处理方法就是使用
one
。由于您只希望此事件触发一次,one
将在第一次单击后解除处理程序的绑定
$('.link').one("click", function() {
您还需要使用clearInterval
在完成间隔后停止间隔
在相关说明中,不要使用eval
。在这种情况下,您应该使用parseInt
,或者在javascript变量中维护数字
我只是在编辑你的小提琴
var timeCounter = 10;
var istimerStart = false;
$(document).ready(function() {
$('.link').click(function() {
$('#my-timer').fadeIn('slow');
$(function(){
if(istimerStart == false){
setInterval(function() {
istimerStart = true;
timeCounter = $("b[id=show-time]").html();
var updateTime = eval(timeCounter)- eval(1);
$("b[id=show-time]").html(updateTime);
if(updateTime == 0){
$('#my-timer').hide();
$('.download').fadeIn('slow');
}
}, 1000);
}
});
});
$(".download").hide();
$("#my-timer").hide();
});
你们的错误:每当你们点击链接,新的间隔就是开始,所以我设置了一个标志
无用的建议:计时器功能永远不要写入文档。如果可能的话,准备好执行单独的功能
(这不是一条规则,但我遵循它是为了避免bug)。我只是在编辑你的小提琴
var timeCounter = 10;
var istimerStart = false;
$(document).ready(function() {
$('.link').click(function() {
$('#my-timer').fadeIn('slow');
$(function(){
if(istimerStart == false){
setInterval(function() {
istimerStart = true;
timeCounter = $("b[id=show-time]").html();
var updateTime = eval(timeCounter)- eval(1);
$("b[id=show-time]").html(updateTime);
if(updateTime == 0){
$('#my-timer').hide();
$('.download').fadeIn('slow');
}
}, 1000);
}
});
});
$(".download").hide();
$("#my-timer").hide();
});
你们的错误:每当你们点击链接,新的间隔就是开始,所以我设置了一个标志
无用的建议:计时器功能永远不要写入文档。如果可能的话,准备好执行单独的功能
(这不是一条规则,但我遵循这条规则是为了避免错误)。从这开始倒计时:10@Alireza,如果您使用
eval
99%的时间都是错误的<代码>评估(1)与1
相同。这根本没道理。OkiDoki,你能帮我更正一下这个密码吗,兄弟(对于从此处开始倒计时:10@Alireza,如果你使用eval
99%的时间都是错误的。eval(1)
与1
是一样的。这根本没有意义。OkiDoki,你能帮我纠正一下这个代码吗,兄弟(对不起,取消绑定不设置超时。对不起,取消绑定不设置超时。+1除了使用比我更好的方法之外,你写了一个更简洁的答案。+1除了使用比我更好的方法之外,你写了一个更简洁的答案。