2 回答
TA贡献1835条经验 获得超7个赞
我假设问题在于它在继续之前“锁定”了一会儿……以下纠正了该问题。
您需要在 keydown 上设置一个标志并在 keyup 上取消设置
然后,您需要让其他东西执行该操作。
var scrollAmount;
document.addEventListener('keydown', e => {
if (e.keyCode == 87) {
scrollAmount = -30
}
else if (e.keyCode == 83) {
scrollAmount = 30
}
});
document.addEventListener('keyup', e => {
scrollAmount = 0;
});
setInterval (function() {
window.scrollBy({ top: scrollAmount});
},10)
TA贡献1942条经验 获得超3个赞
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' });
}
});
添加回答
举报