如何为停止/启动设置间隔功能仅设置一个键
how to set only one key for stop/start setInterval function
>我有停止和启动 setInterval 的功能与键。它以 S 键开头,以 Z 键停止。
var refreshIntervalId;
window.addEventListener("onkeydown", keyDown,true);
window.addEventListener("keydown", keyDown);
function keyDown() {
var e = window.event;
switch (e.keyCode) {
case 83:
start();
break;
case 90:
stop();
break;
}
}
function start() {
stop();
refreshIntervalId = setInterval(function() {
// code...
},10);
}
function stop() {
if (refreshIntervalId != null) {
clearInterval(refreshIntervalId);
refreshIntervalId = null;
}
}
那么我怎样才能只设置 Z 键来启动和停止设置间隔?例如,我按 Z 键,它开始,然后我再次按 Z 键,它停止了!有人可以帮助我吗?
像下面这样修改你的代码,
function keyDown() {
var e = window.event;
switch (e.keyCode) {
case 90:
if(refreshIntervalId) {
stop();
}
else {
start();
}
break;
}
}
检查refreshIntervalId
是否为真实值。如果是,则停止间隔,否则启动它。
var boolStart = false;
function keyDown() {
var e = window.event;
switch (e.keyCode) {
case 83:
if(!boolStart){
start();
}else{
stop();
}
break;
}
}
function start() {
stop();
boolStart = true;
..
}
function stop() {
boolStart = false;
....
}
编辑 1:
你也可以用这种方式做。
var boolStart = false;
function keyDown() {
var e = window.event;
switch (e.keyCode) {
case 83:
//;
boolStart = !boolStart;
if (!boolStart) {
start();
} else {
stop();
}
break;
}
}
相关文章:
- 为两个ID设置一个变量的正确语法
- 使用D3.js和GeoJson在地图上的某些坐标上设置一个小图像
- 为位于路线上的谷歌地图标记(起点和终点)设置一个信息窗口
- 让ASP.NET中继器设置一个动态名称
- 使用jQuery在html数组中设置一个值
- 如何根据另一选择中的选择设置一个选择中的文本
- 设置一个孩子'Firebase上带有字符串的名称
- Angular,设置一个回调函数,用于在工厂和控制器之间更新
- 在不重新加载页面的情况下,从JSP(服务器端)b设置一个JavaScript变量
- 在document-mongoDB中设置一个字段
- Perl使用WWW::机械化来设置一个没有值的单选按钮
- 我们可以用grunt设置一个php/mysql环境吗
- 使用jQuery通过更改src属性来设置一个图像标签的动画
- 是否可以设置一个功能“;联系我们”;页面使用HTML/CSS
- 设置一个按钮按下函数来触发一个Id为的Ajax调用
- 设置一个下拉填充到它's的值和文本在AngularJS和asp.net webApi中的编辑模式
- 设置一个复选框,其中包含使用javaScript检查的特定名称和id
- 为jquery设置动画,一次设置一个对象
- 通过javascript在Model中设置一个值
- 谷歌地图v3:你可以设置一个地图的边界