键按下时的滚动事件,例如向下箭头和向上箭头

时间:2020-06-26 18:04:40

标签: javascript scroll

我想做与网站上的上箭头键和下箭头键相同的滚动事件。下面的代码创建了一个与箭头“相似”的事件,但是在按下键ws时会保持锁定状态。

document.addEventListener('keydown', e => {
  if (e.keyCode == 87) {
    window.scrollBy({
      top: -30,
      behavior: 'smooth'
    });
  } else if (e.keyCode == 83) {
    window.scrollBy({
      top: 30,
      behavior: 'smooth'
    });
  }
});

谢谢。

2 个答案:

答案 0 :(得分:0)

我认为问题在于它在继续锁定之前已经“锁定”了一段时间……以下可以解决该问题。

您需要在keydown上设置一个标志,而在keyup上取消设置

然后,您需要让其他东西来执行操作。

if (not ($day_of_week eq "Monday" or $day_of_week eq "Tuesday") )

答案 1 :(得分:0)

document.addEventListener('keypress', e => {
    if (e.keyCode == 119) {
       
        window.scrollBy({ top: -30, behavior: 'smooth' });
    } 
    else if (e.keyCode == 115) {
        window.scrollBy({ top: 30, behavior: 'smooth' });
    }
});