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' });
}
});
添加回答
舉報