【发布时间】:2020-03-03 00:48:26
【问题描述】:
我有一个switch 语句,我在其中尝试将键盘快捷键映射到水平整页滚动:
- 空格键或Page Down或右箭头 向前滚动
- Page Up 或 Left Arrow 滚动 向后
- Home 或 Up Arrow 转到开头 页面的
- End 或 Down Arrow 滚动到末尾 页面的
这是我的尝试,但不起作用:
switch (event.code) {
case "Space" || "PageDown" || "ArrowRight": {
scrollAmount += window.innerWidth
break
}
case "PageUp" || "ArrowLeft": {
scrollAmount -= window.innerWidth
break
}
case "Home" || "ArrowUp": {
scrollAmount = 0
break
}
case "End" || "ArrowDown": {
scrollAmount = container.scrollWidth
break
}
}
在这种情况下如何正确使用运算符?
【问题讨论】:
-
使用 switch 语句的贯穿功能。匹配的 case 将一直运行,直到找到 break(或 switch 语句的结尾)。您需要定义所有情况。
-
我在问题被关闭之前输入了我的答案作为重复。无论如何,我想通过 codepen 分享它:codepen.io/Connum/pen/JjjLVKJ?editors=1111
标签: javascript ecmascript-6 switch-statement