功能执行后禁用键
Disable a key after functions are executed
因此,基本上我希望第一个键("q")初始化setTimeouts,然后我希望在setTimeouts运行时禁止再次按下它,然后当setTimeouts结束时,重新允许再次按下它。
$(document).keydown(function(e) {
// if 'q' key is pressed, initalize setTimeouts
if (e.keyCode == 81) {
var rock = $('#rock');
// disable 'q' key while setTimeouts are running
setTimeout(function () {
rock.css('background-position', '-34px -0px');
setTimeout(function () {
rock.css('background-position', '-66px -0px');
setTimeout(function () {
rock.css('background-position', '-96px -0px');
}, 300);
}, 300);
}, 300);
// re enable 'q' key when setTimeouts are done
}
});
有什么想法吗?
在开始超时之前设置一个变量,并在超时完成后将其清除。
var q_enabled = true;
$(document).keydown(function(e) {
// if 'q' key is pressed, initalize setTimeouts
if (e.keyCode == 81 && q_enabled) {
q_enabled = false; // Disable Q key
var rock = $('#rock');
setTimeout(function () {
rock.css('background-position', '-34px -0px');
setTimeout(function () {
rock.css('background-position', '-66px -0px');
setTimeout(function () {
rock.css('background-position', '-96px -0px')
q_enabled = true; // Re-enable it
}, 300);
}, 300);
}, 300);
}
});
相关文章:
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 如果在编辑中下拉值发生变化,如何执行功能
- 在周一上午8点至晚上7点之间执行功能
- 如何在ng中继器运行中执行功能
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- 基于条件执行功能
- 如何让chrome扩展在页面加载的后台执行功能
- 并行执行功能并等待其完成
- 必须点击两次按钮才能执行功能
- 在可过滤的剑道移动搜索框中键入时执行功能
- 故意暂停执行功能
- 当用户导航到特定部分时执行功能(地理位置)
- 必须单击按钮两次才能执行功能 - jQuery
- 在使用 react 和 material-ui 动态创建菜单项时,为什么 onTouchStart 会自动执行功能
- 如何在jQuery中单击两个按钮之一时执行功能
- 鼠标事件触发但未执行功能
- 如何在jquery中空闲10秒后执行功能
- 在Facebook分享后执行功能
- 如果文本框有焦点,按下特定键时执行功能
- 选择随机选项并执行功能