如何通过按键盘上的某个键来更改 javascript 函数的 var?
How can I change the var of a javascript function by pressing a key on the keyboard?
我这里有一段代码,我希望能够按下一个键(f.i。“1”键)所以 var isRunning = false。当我按下另一个键(f.i。“2”键)时,var isRunning 应该变回 isRunning = true。
要尽量简单(javascript/html),不要jquery。我只想通过可定义的击键更改此变量的值。
这是代码:
<script type="text/javascript">
var pages=[];
pages[0]="page0.html"
pages[1]="page1.html"
pages[2]="page2.html"
var time = 33000;
var currentIndex = 0;
var isRunning = true;
function pageChange() {
if(isRunning){
if(currentIndex == 0){
pages = shuffle(pages);
console.log(pages);
currentIndex = pages.length;
}
currentIndex--;
document.getElementById("frame").src=pages[currentIndex];
console.log(currentIndex);
}
setTimeout(function() { pageChange(); }, time);
};
window.onload = function(){
pageChange();
}
</script>
这应该可以解决问题;)
document.addEventListener('keydown', function(event) {
if(event.keyCode == 49) { //keycode 49 is '1'
isRunning = false;
}
else if(event.keyCode == 50) { //keycode 50 is '2'
isRunning = true;
}
});
由于您的 isRunning
在全局范围内,您可以只捕获数字键的 keydown 事件。例如,如果你想在整个页面上捕捉事件,像这样:
window.onkeydown = function(e){
switch(e.keyCode){
case 49:
case 97:
isRunning = false;
break;
case 50:
case 98:
isRunning = true;
break;
}
}
我这里有一段代码,我希望能够按下一个键(f.i。“1”键)所以 var isRunning = false。当我按下另一个键(f.i。“2”键)时,var isRunning 应该变回 isRunning = true。
要尽量简单(javascript/html),不要jquery。我只想通过可定义的击键更改此变量的值。
这是代码:
<script type="text/javascript">
var pages=[];
pages[0]="page0.html"
pages[1]="page1.html"
pages[2]="page2.html"
var time = 33000;
var currentIndex = 0;
var isRunning = true;
function pageChange() {
if(isRunning){
if(currentIndex == 0){
pages = shuffle(pages);
console.log(pages);
currentIndex = pages.length;
}
currentIndex--;
document.getElementById("frame").src=pages[currentIndex];
console.log(currentIndex);
}
setTimeout(function() { pageChange(); }, time);
};
window.onload = function(){
pageChange();
}
</script>
这应该可以解决问题;)
document.addEventListener('keydown', function(event) {
if(event.keyCode == 49) { //keycode 49 is '1'
isRunning = false;
}
else if(event.keyCode == 50) { //keycode 50 is '2'
isRunning = true;
}
});
由于您的 isRunning
在全局范围内,您可以只捕获数字键的 keydown 事件。例如,如果你想在整个页面上捕捉事件,像这样:
window.onkeydown = function(e){
switch(e.keyCode){
case 49:
case 97:
isRunning = false;
break;
case 50:
case 98:
isRunning = true;
break;
}
}