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

回答編集履歴

2

まとめ

2017/11/16 06:57

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -26,4 +26,83 @@
26
26
  });
27
27
  });
28
28
 
29
+ ```
30
+
31
+ # まとめ
32
+
33
+ ```javascript
34
+ <style>
35
+ .accordion dd.bor{
36
+ border-bottom: solid 1px;
37
+ }
38
+ </style>
39
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
40
+ <script>
41
+ $(function(){
42
+ $('.accordion dd').hide();
43
+ $('#menu1.accordion dd').addClass('bor').prev('dt').on('click',function(){;
44
+ $(this).next('dd').slideToggle().siblings('dd').slideUp();
45
+ });
46
+ $('#menu2.accordion dt').on('click',function(){
47
+ $(this).next('dd').addClass('bor').slideToggle().siblings('dd').removeClass('bor').slideUp();
48
+ });
49
+ $('#menu3.accordion dt').on('click',function(){
50
+ var dd=$(this).next('dd');
51
+ $.when(dd.slideToggle().siblings('dd').slideUp()).done(function(){
52
+ dd.addClass('bor').siblings('dd').removeClass('bor');
53
+ });
54
+ });
55
+ });
56
+ </script>
57
+ <dl id="menu1" class="accordion">
58
+ <dt>アコーディオン1</dt>
59
+ <dd>
60
+ <p>アコーディオン1の内容1</p>
61
+ <p>アコーディオン1の内容2</p>
62
+ </dd>
63
+ <dt>アコーディオン2</dt>
64
+ <dd>
65
+ <p>アコーディオン2の内容1</p>
66
+ <p>アコーディオン2の内容2</p>
67
+ </dd>
68
+ <dt>アコーディオン3</dt>
69
+ <dd>
70
+ <p>アコーディオン3の内容1</p>
71
+ <p>アコーディオン3の内容2</p>
72
+ </dd>
73
+ </dl>
74
+ <dl id="menu2" class="accordion">
75
+ <dt>アコーディオン4</dt>
76
+ <dd>
77
+ <p>アコーディオン4の内容1</p>
78
+ <p>アコーディオン4の内容2</p>
79
+ </dd>
80
+ <dt>アコーディオン5</dt>
81
+ <dd>
82
+ <p>アコーディオン5の内容1</p>
83
+ <p>アコーディオン5の内容2</p>
84
+ </dd>
85
+ <dt>アコーディオン6</dt>
86
+ <dd>
87
+ <p>アコーディオン6の内容1</p>
88
+ <p>アコーディオン6の内容2</p>
89
+ </dd>
90
+ </dl>
91
+ <dl id="menu3" class="accordion">
92
+ <dt>アコーディオン7</dt>
93
+ <dd>
94
+ <p>アコーディオン7の内容1</p>
95
+ <p>アコーディオン7の内容2</p>
96
+ </dd>
97
+ <dt>アコーディオン8</dt>
98
+ <dd>
99
+ <p>アコーディオン8の内容1</p>
100
+ <p>アコーディオン8の内容2</p>
101
+ </dd>
102
+ <dt>アコーディオン9</dt>
103
+ <dd>
104
+ <p>アコーディオン9の内容1</p>
105
+ <p>アコーディオン9の内容2</p>
106
+ </dd>
107
+ </dl>
29
108
  ```

1

調整版

2017/11/16 06:57

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -3,13 +3,27 @@
3
3
  border-bottom: solid 1px;
4
4
  }
5
5
  ```
6
+
7
+ # 調整
8
+ 2パターンあると思いますが、どちらも違和感ありませんか?
9
+
6
10
  ```javascript
7
11
  $(function(){
8
- $('.accordion dd').addClass('bor').hide();
12
+ $('.accordion dd').hide();
9
13
  $('.accordion dt').on('click',function(){
10
- $(this).next('dd').slideToggle();
14
+ var dd=$(this).next('dd');
15
+ $.when(dd.slideToggle().siblings('dd').slideUp()).done(function(){
11
- $(this).next('dd').siblings('dd').slideUp();
16
+ dd.addClass('bor').siblings('dd').removeClass('bor');
12
- $(this).toggleClass('bor');
17
+ });
13
18
  });
14
19
  });
20
+ ```
21
+ ```javascript
22
+ $(function(){
23
+ $('.accordion dd').hide();
24
+ $('.accordion dt').on('click',function(){
25
+ $(this).next('dd').addClass('bor').slideToggle().siblings('dd').removeClass('bor').slideUp();
26
+ });
27
+ });
28
+
15
29
  ```