回答編集履歴

1

コードの修正

2024/06/25 11:41

投稿

kitaizumi506
kitaizumi506

スコア30

test CHANGED
@@ -2,45 +2,47 @@
2
2
 
3
3
  ---
4
4
 
5
- 1: 初期状態を作るために`.question-box_answer`を非表示にします。
6
-
7
- ```javascript
8
- $('.question-box_answer').hide();
9
- ```
10
-
11
- 2: [slideDown](https://api.jquery.com/slideDown/#slideDown-duration-complete)と[slideUp](https://api.jquery.com/slideUp/#slideUp-duration-complete)を使用したアニメーション処理を記述します。
12
- ```javascript
13
- $('.question-box').hover(
14
- function() {
15
- $(this).find('.question-box_answer').slideDown(300);
16
- },
17
- function() {
18
- $(this).find('.question-box_answer').slideUp(300);
19
- }
20
- );
21
- ```
22
-
23
-
24
- 全体のコード
25
5
  ```javascript
26
6
  $(document).ready(function() {
27
7
 
8
+ // 初期状態
28
- $('.question-box_answer').hide();
9
+ $('.question-box_answer').hide();
29
10
 
11
+ // slideDown/slideUpのオプション
12
+ const slideOptions = {
13
+ duration: 300,
14
+ easing: "linear", // デフォルトはswing
15
+ };
16
+
17
+ // hoverイベント
30
- $('.question-box').hover(
18
+ $('.question-box').hover(
31
- function() {
19
+ function() {
32
- $(this).find('.question-box_answer').slideDown(300);
20
+ $(this).find('.question-box_answer').slideDown(slideOptions);
33
- },
21
+ },
34
- function() {
22
+ function() {
35
- $(this).find('.question-box_answer').slideUp(300);
23
+ $(this).find('.question-box_answer').slideUp(slideOptions);
36
- }
24
+ }
37
- );
25
+ );
38
26
  });
39
27
 
40
28
  ```
41
29
 
42
- 以上がjQuery使用した場合の回答です
30
+ 回答へのコメント受けて修正ました。
43
31
 
44
- ご質問意図沿た回答になってますでしょうか?
32
+ 「easing」指定て、アニメーションが始まってから終わるでの間の変化具合を調整できま
45
- ご確認をお願いします。
46
33
 
34
+ slideDown(slideUp)はデフォルトでは`swing`です。
35
+ 回答では`linear`を指定して、直線的な動きになるようにしました。
36
+
37
+ jQueryに限らずですが、使用するメソッドのドキュメントをご覧になって、どのようなことができるかを確認してみることをオススメします。
38
+
39
+ この「easing」はCSSのアニメーションでもよく使用するので、種類ごとにどのような挙動をするのかを知っておいても良いかもしれませんね。
40
+
41
+ ---
42
+
43
+ - [slideDown](https://api.jquery.com/slideDown/#slideDown-duration-complete)
44
+ - [slideUp](https://api.jquery.com/slideUp/#slideUp-duration-complete)
45
+ - [イージング関数チートシート](https://easings.net/ja)
46
+
47
+
48
+