如何将两个不同的箭头键和两个不同的变量组合在一起
how do I combine code for two different arrow key's with two different vars?
我有一些代码,箭头键向下触发。但我想要相同的代码,但要用另一个变量,并将箭头键置于箭头键向下的状态。我在这段代码中有2个div,这是一个在css中绘制的栏。当你按住箭头键时,你会看到数值在变化。我想要相同的,但有两个其他的div在箭头键左。如何添加代码,并且两者都能工作。
var changeIdValue = function () {
var current = document.getElementById('balklongwaarde').clientHeight - 15 + 'px';
'use strict'
document.getElementById('balklongwaarde').style.height = current;
var current = document.getElementById('balklevensverwachting').clientHeight - 7.5 + 'px';
'use strict'
document.getElementById('balklevensverwachting').style.height = current;
};
var intervalID;
//through arrow down values are changing//
window.onkeydown = function(e){
if(e.keyCode == 40){
if(typeof intervalID == 'undefined') {
intervalID = window.setInterval(changeIdValue, 10);
}
};
//through arrow down values are changing//
window.onkeyup = function(e){
if(e.keyCode == 40){
window.clearInterval(intervalID);
intervalID= undefined;
}
};
}
http://jsfiddle.net/MhTU9/在jsfiddle中,我添加了左箭头键的代码,但它不起作用
您需要使用addEventListener
绑定多个回调。https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener
演示。
Code DRY版本。
function bind(callback, keyCode) {
var interval;
window.addEventListener('keydown', function(e){
if(e.keyCode === keyCode) {
if(typeof interval === 'undefined') {
interval = setInterval(callback, 10);
}
}
}, false);
window.addEventListener('keyup', function(e){
if(e.keyCode === keyCode) {
interval = clearInterval(interval);
}
}, false)
}
bind(changeIdValue, 37);
bind(changeWaarde, 40);
相关文章:
- 在HTML包围的javascript中添加两个变量
- 填写表单后替换两个变量
- 用于交换两个变量的 JavaScript 函数
- 使用一个表达式将两个变量分配给相同的值
- 如何添加两个变量而不使其在javascript中连接
- 有可能让两个变量指向同一个对象吗?(javascript)
- 带有两个变量函数的Ajax提交表单
- 将两个变量的值加在一个变量中
- 如何使用javascript获取两个变量的最高值
- 如何从字符串中获取两个变量
- 测试两个变量是否包含一些数据 JavaScript
- 将两个变量从php发送到javascript
- 如何在javascript中计算两个变量的百分比
- 连接两个变量
- Javascript变量没有正确添加两个变量,只是连接
- 如何在客户端验证中验证两个变量规则
- 想要使用document.getelementbyid显示两个变量
- 使用带有两个变量的相同if-else语句
- 我可以用JavaScript声明一个数组中的两个变量吗
- 使用数据库中的两个变量在jqplot中显示图形