无法停止定时器怎么办啊
javascript吧
全部回复
仅看楼主
level 4
我的代码出现无法停止定时器,但是绑定按钮写入onclick时间的函数就可以
停止函数:
function stops(){
console.log("test2");
btns[1].style.color="#000";
btns[2].style.color="#000";
clearInterval(sjq1);
console.log(sjq1);
sjq1=0
alert("选中了"+pp[i])
}//用来停止循环选中
但是我用onkeypress调用停止函数就不能停止
如下:
document.onkeypress=function(e){
console.log("测试1");
if(sjq1>0&&e.charCode==13||e.charCode==3){
stops();
}
}
我自己也试过的,第二个函数正常触发了,并且也调用了停止函数,甚至停止函数的alert提示都出来,就是停不下来
大佬们帮帮我吧,真的太难了
2022年01月18日 20点01分 1
level 12
这是完整代码?sjq1初始值是啥?[疑问]
2022年01月19日 01点01分 2
undefined
2022年01月24日 03点01分
level 8
sjq1是在什么时候赋值的呢
你上面的代码只有给sjq1重置的代码(sjq1=0)
2022年01月20日 08点01分 3
level 4
sjq1就是我的定时器的返回值,第一段函数是页面里面的按钮触发,可以正常停下来定时器,第二段是在页面时按下回车触发,调用第一段函数
2022年01月24日 03点01分 4
可是上面的代码,你根本就没有给它赋值啊
2022年01月24日 10点01分
@墨色天空酱 我没懂啊,能够解释一下嘛?给谁赋值?
2022年01月26日 04点01分
2022年01月26日 04点01分
@墨色天空酱 这个值最开始就是undefined啊,我就是声明了,这已经是所有关于sjq1所有相关代码了,你的意思是我的函数调用的时候没有值,所以没有停下函数是吗?可是我因为不是很懂函数生存周期,直接用的全局变量啊,这个参数全局可用
2022年01月28日 05点01分
level 15
全局变量赋值后才能停止这个定时器
2022年01月28日 06点01分 5
level 8
简单给个栗子:
// 停止函数
function stops(timer){
console.log("即将停止定时器:"+timer);
btns[1].style.color="#000";
btns[2].style.color="#000";
clearInterval(time);
}//用来停止循环选中
// 点击事件
document.onkeypress=function(e){
console.log("检测到了按键,键值:"+e.charCode);
if(!sjq1){
alert("定时器返回值未存储,不能停止定时器");
}
if(e.charCode==13||e.charCode==3){
stops(sjq1);
}
}
2022年01月29日 07点01分 6
@孤狼CP 明明是无法停止,而不是异常停止了
2022年01月29日 09点01分
你看我的stops函数,最后不是有个alert嘛,第二个函数是能够正常调用的,而且sjq1是全局定义的
2022年02月02日 00点02分
@123123123阿达0 sjq1是undefined,clearInterval(undefined)怎么停止定时器,停止一个undefined的定时器????
2022年02月12日 01点02分
@墨色天空酱 你去看我的代码啊,第一次定义我只是申请了sjq1而已,赋值是setinterval函数执行时自己赋值的啊
2022年02月15日 03点02分
1