teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コードをわかりやすくした

2019/10/09 08:49

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37488

answer CHANGED
@@ -1,10 +1,10 @@
1
- 慣性が止まらない間に再度ホイール操作された場合には検知するのか、気になりました。
1
+ 慣性が止まらない間に連続でホイール操作された場合には検知したいのか、それともしたくないのか、が気になりました。
2
2
 
3
3
  とりあえず、動作確認できる環境がないので動くかどうかわかりませんが、このようにしてみてはいかがでしょうか。
4
4
  ```js
5
- const wheel = ( (flag, timerId) => event => {
5
+ const wheel = ( ( flag = false, timerId = null) => event => {
6
6
  clearTimeout( timerId );
7
- timerId = setTimeout( () => flag = false, 1000);
7
+ timerId = setTimeout( () => flag = false, 1000); // 1秒空いたらリセット
8
8
  if (flag) return;
9
9
 
10
10
  if (event.wheelDeltaY < 0) {
@@ -13,6 +13,6 @@
13
13
  console.log("上方向へホイール")
14
14
  }
15
15
  flag = true;
16
- })(false, null);
16
+ } )();
17
17
  window.addEventListener("wheel", wheel);
18
18
  ```