質問編集履歴

1

修正

2020/02/23 14:33

投稿

katusi
katusi

スコア12

test CHANGED
File without changes
test CHANGED
@@ -230,31 +230,75 @@
230
230
 
231
231
  $(window).on("scroll", function() {
232
232
 
233
-
234
-
235
- var scroll_top = $(window).scrollTop();
233
+ var scroll_top = $(window).scrollTop();
234
+
236
-
235
+ var countSpeed = 10;
237
-
238
-
236
+
237
+
238
+
239
- $('.boxes').each(function() {
239
+ $('.boxes').each(function() {
240
-
241
-
242
-
240
+
243
- var elem_pos = $(this).offset().top;
241
+ var elem_pos = $(this).offset().top;
244
-
245
-
246
-
247
-
248
-
242
+
243
+
244
+
249
- if (scroll_top >= elem_pos - window_h + 600) {
245
+ if (scroll_top >= elem_pos - window_h + 600) {
250
-
246
+
251
- $(this).addClass('.fadein'); 
247
+ $(this).addClass('fadein'); 
248
+
249
+
250
+
252
-
251
+ // countクラスが付与されているオブジェクトをループ
252
+
253
+ $('.count').each(function(){
254
+
255
+ var self = $(this),
256
+
257
+ // data-num属性から最大値を取得
258
+
259
+ countMax = self.attr('data-num'),
260
+
261
+ // カンマを除去して数値に変換して取得
262
+
263
+ thisCount = parseInt(self.text().replace(/,/, '')),
264
+
265
+ countTimer;
266
+
267
+
268
+
269
+ function timer(){
270
+
271
+ countTimer = setInterval(function(){
272
+
273
+ // 数値を1加算
274
+
275
+ var countNext = thisCount++;
276
+
277
+ // 数値をカンマ文字列に変換してHTMLテキストに設定
278
+
279
+ self.text(countNext.toLocaleString());
280
+
281
+
282
+
283
+ if(countNext == countMax){
284
+
285
+ clearInterval(countTimer);
286
+
253
- }
287
+ }
288
+
254
-
289
+ },countSpeed);
290
+
291
+ }
292
+
293
+ timer();
294
+
255
- });
295
+ });
296
+
256
-
297
+ }
298
+
257
- });
299
+ });
300
+
301
+ });
258
302
 
259
303
  </script>
260
304