如何通过按键盘上的某个键来更改 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;
    }
}