我如何打印逻辑中的最后一个字母

How can i print the last letter in my logic

  1. 我有一个代码可以在突出显示的文本上打印按下键的字母。但是我无法打印最后一个字母(这里是字母 F)。谁能指出我逻辑中的问题。
  2. 没有在输入标签中打印文本我想在按下时转到不同的页面,我该怎么做(我需要将它们更改为锚标签并添加 6 页吗?)

let curr_div_on = 0,curr_div_off = 0;


const key = document.getElementsByClassName("key");


function setPlayingOn() {
  key[curr_div_on % 6].classList.add("playing");
  curr_div_on = (curr_div_on + 1) % 6; 
}

function setPlayingOff() {
  key[curr_div_off % 6].classList.remove("playing");
  curr_div_off = (curr_div_off + 1) % 6;
}

setInterval(setPlayingOn, 500);
setTimeout(() => setInterval(setPlayingOff, 500), 500);



document.addEventListener('keypress', function(){
var input = document.getElementById('message');     

if(curr_div_on==1){
    let letter = 'A';
    input.value += letter;

}else if(curr_div_on==2){
    let letter = 'B';
    input.value += letter;

}else if(curr_div_on==3){
    let letter = 'C';
    input.value += letter;

}else if(curr_div_on==4){
    let letter = 'D';
    input.value += letter;

}else if(curr_div_on==5){
    let letter = 'E';
    input.value += letter;

}else if(curr_div_on==6){
    let letter = 'F';
    input.value += letter;

}

});
.key{
    border: 0.1rem solid black;
    border-radius: 0.5rem;
    margin : 1rem;
    padding: 1rem 0.5rem;
    width: 4rem;
    text-align: center;
    background: rgba(0,0,0,0.4);
    transition: all 1.0 ease;
    transition-duration: 0.5s;
}

.keys{
    display: grid;
  grid-template-columns: auto auto auto;
}

.playing{
    transform: scale(1,1);
    border-color: #ffc600;
    box-shadow: 0 0 1rem #ffc600;
}
<!DOCTYPE html>
<html>
<head>
    <title>Talk</title>

    
</head>
<body>
<div id="keys">
  <div class="key">A</div>
  <div class='key'>B</div>
  <div class='key'>C</div>
  <div class='key'>D</div>
  <div class='key'>E</div>
  <div class='key'>F</div>
</div>
<input id="message"></input>

</body>
</html>

要回答您的第一个问题,您的索引不是 1,2,3,4,5,6,而是 1,2,3,4,5,0。我对代码做了一些修改,现在它可以正常工作了。

关于第二个问题 - 我不确定我是否理解您的要求。

without printing text in the input tag I want to go to a different page when pressed, how can I do it( do I need to change them as anchor tag and add 6 pages?)

什么时候按下?转到不同的页面是什么意思?导航到另一个 URL?

let curr_div = 0;


const key = document.getElementsByClassName("key");


function setPlaying() {
  key[curr_div].classList.remove("playing");
  curr_div = (curr_div + 1) % 6; 
  key[curr_div].classList.add("playing");      
}

setInterval(setPlaying, 500);


document.addEventListener('keypress', function(){
  var input = document.getElementById('message');     

  if (curr_div==0) {
      let letter = 'A';
      input.value += letter;

  } else if(curr_div==1) {
      let letter = 'B';
      input.value += letter;

  } else if(curr_div==2) {
      let letter = 'C';
      input.value += letter;

  } else if(curr_div==3) {
      let letter = 'D';
      input.value += letter;

  } else if(curr_div==4) {
      let letter = 'E';
      input.value += letter;
  } else if(curr_div==5) {
      let letter = 'F';
      input.value += letter;
  }
});
.key{
    border: 0.1rem solid black;
    border-radius: 0.5rem;
    margin : 1rem;
    padding: 1rem 0.5rem;
    width: 4rem;
    text-align: center;
    background: rgba(0,0,0,0.4);
    transition: all 1.0 ease;
    transition-duration: 0.5s;
}

.keys{
    display: grid;
  grid-template-columns: auto auto auto;
}

.playing{
    transform: scale(1,1);
    border-color: #ffc600;
    box-shadow: 0 0 1rem #ffc600;
}
<!DOCTYPE html>
<html>
<head>
    <title>Talk</title>

    
</head>
<body>
<div id="keys">
  <div class="key">A</div>
  <div class='key'>B</div>
  <div class='key'>C</div>
  <div class='key'>D</div>
  <div class='key'>E</div>
  <div class='key'>F</div>
</div>
<input id="message"></input>

</body>
</html>