回答編集履歴

1

スクロール位置の取得方法について追記しました。

2023/04/18 11:40

投稿

退会済みユーザー
test CHANGED
@@ -72,3 +72,34 @@
72
72
  }
73
73
  ```
74
74
 
75
+
76
+ ## 追記です。
77
+
78
+ コメントありがとうございます。
79
+ 解決したようで良かったです。
80
+
81
+ 最初に回答したコードにつきまして、
82
+ 意図が明確ではなかった部分がありましたので、
83
+ 追記しておきます。
84
+
85
+ 「this」を使ってしまうと、関数の記述場所などによって動きが変わってしまうこともあるみたいです。
86
+ 今回はブラウザー全体のスクロール位置を判断するということで、
87
+ 「window」と記述した方が後からコードを読んだ際に意図を理解しやすいと思いました。
88
+ (今回はたまたま動きが同じだったっぽいですので、コピペしたまま気づけませんでした・・)
89
+ (他の部分に記述してある「this」はそのままで大丈夫と思います)
90
+
91
+ ```js
92
+ // function setTopDrawerBackgroundColor() {
93
+ // const top100 = jQuery(this).scrollTop() <= 100;
94
+ function setTopDrawerBackgroundColor() {
95
+ const top100 = jQuery(window).scrollTop() <= 100; // ← この行については「this」より「window」にしておいた方が「ブラウザー全体のスクロール位置」という意図が伝わりやすいかもしれません
96
+ ```
97
+
98
+ 「this」はちょっとややこしいです・・
99
+ 余裕がありましたら次のリンク先も見てみると良いかもしれません。
100
+
101
+ [this - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/this)
102
+ [globalThis - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/globalThis)
103
+
104
+ *質問欄の問題が解決しましたら、解決済みにしておくと良いと思います。
105
+