回答編集履歴

3

jQuery プラグイン化しない版のコードも追記

2016/02/23 01:28

投稿

unau
unau

スコア2468

test CHANGED
@@ -103,3 +103,111 @@
103
103
  }(jQuery);
104
104
 
105
105
  ```
106
+
107
+
108
+
109
+ ---
110
+
111
+ 追記
112
+
113
+ プラグイン化しない版を書いてみました。
114
+
115
+ ```html
116
+
117
+ <html>
118
+
119
+ <head>
120
+
121
+ <title>test</title>
122
+
123
+ <style>
124
+
125
+ div.page {
126
+
127
+ height: 300px;
128
+
129
+ width: 400px;
130
+
131
+ background-color: gray;
132
+
133
+ }
134
+
135
+ a.more {
136
+
137
+ }
138
+
139
+ </style>
140
+
141
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
142
+
143
+ </head>
144
+
145
+ <body>
146
+
147
+ <div id="pages">
148
+
149
+ <div class="page">
150
+
151
+ <section> 〜コンテンツが入ります</section>
152
+
153
+ <a href="#" class="more">続きを読む</a>
154
+
155
+ </div>
156
+
157
+ <div class="page">
158
+
159
+ <section> 〜コンテンツが入ります</section>
160
+
161
+ <a href="#" class="more">続きを読む</a>
162
+
163
+ </div>
164
+
165
+ <div class="page">
166
+
167
+ <section> 〜コンテンツが入ります</section>
168
+
169
+ <a href="#" class="more">続きを読む</a>
170
+
171
+ </div>
172
+
173
+ <div class="page">
174
+
175
+ <section> 〜コンテンツが入ります</section>
176
+
177
+ </div>
178
+
179
+ </div>
180
+
181
+ <script>
182
+
183
+ $(function() {
184
+
185
+ $('#pages').children().each(function(i) {
186
+
187
+ var $page = $(this)
188
+
189
+ .addClass('group_' + i)
190
+
191
+ .find('a.more').click(function() {
192
+
193
+ $('div.group_' + (i + 1)).show();
194
+
195
+ return false;
196
+
197
+ })
198
+
199
+ .end();
200
+
201
+ if (i > 0) $page.hide();
202
+
203
+ });
204
+
205
+ });
206
+
207
+ </script>
208
+
209
+ </body>
210
+
211
+ </html>
212
+
213
+ ```

2

バグ修正

2016/02/23 01:28

投稿

unau
unau

スコア2468

test CHANGED
@@ -94,7 +94,9 @@
94
94
 
95
95
  if (i > 0) $page.hide();
96
96
 
97
- });
97
+ })
98
+
99
+ .end();
98
100
 
99
101
  };
100
102
 

1

javascript コードから要らない変数を除去

2016/02/22 15:31

投稿

unau
unau

スコア2468

test CHANGED
@@ -80,17 +80,19 @@
80
80
 
81
81
  $(this).children().each(function(i) {
82
82
 
83
- var $page = $(this).addClass('group_' + i);
83
+ var $page = $(this)
84
84
 
85
- if (i > 0) $page.hide();
85
+ .addClass('group_' + i)
86
86
 
87
- var $more = $page.find('a.more').click(function() {
87
+ .find('a.more').click(function() {
88
88
 
89
89
  $('div.group_' + (i + 1)).show();
90
90
 
91
91
  return false;
92
92
 
93
93
  });
94
+
95
+ if (i > 0) $page.hide();
94
96
 
95
97
  });
96
98