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

質問編集履歴

2

状況を追記しました。

2020/04/10 05:43

投稿

lyzmfeqpxs54
lyzmfeqpxs54

スコア237

title CHANGED
File without changes
body CHANGED
@@ -63,15 +63,9 @@
63
63
  contentSelector: '.skill-list',
64
64
  nextSelector: 'span.next:last a',
65
65
  callback: function() {
66
- // ここに書くと新たに表示したものの.status_moreを閉じることはできるが
67
- // ページ上部で開いて.status_moreも閉じてしまう
66
+ // このように書いて解決でき
68
- $('.bt_more').prevAll('.status_more').hide();
67
+ $(this).find(".bt_more").prevAll('.status_more').hide();
69
- $('.bt_more').children('span').text('表示する').removeClass('close');
70
68
  });
71
- // 上のようにコールバックの中に書くことで全体に適用はできた
72
- // 以前はここに書いていた
73
- // $('.bt_more').prevAll('.status_more').hide();
74
- // $('.bt_more').children('span').text('表示する').removeClass('close');
75
69
  }
76
70
 
77
71
  });

1

状況を追記しました。

2020/04/10 05:43

投稿

lyzmfeqpxs54
lyzmfeqpxs54

スコア237

title CHANGED
File without changes
body CHANGED
@@ -13,7 +13,14 @@
13
13
  適切な方法をご教示いただけますと幸いです。
14
14
  よろしくお願いいたします。
15
15
 
16
+ --------------------------- 追記 ---------------------------
16
17
 
18
+ jsqrollにはコールバック関数があり、以下のようにcallback: function()の中に書くことで、新たに表示されたもののstatus_moreを閉じることはできました。
19
+
20
+ しかし、今の書き方ですと、一番下にスクロールするまでに表示したstatus_moreも閉じてしまいます。
21
+ 今表示しているscroll positionより下のセレクタに適用する方法などはありますでしょうか。
22
+
23
+
17
24
  ```ruby
18
25
 
19
26
  # show.html.erb
@@ -54,14 +61,17 @@
54
61
  autoTrigger: true,
55
62
  padding: 20,
56
63
  contentSelector: '.skill-list',
57
- nextSelector: 'span.next:last a'
64
+ nextSelector: 'span.next:last a',
65
+ callback: function() {
66
+ // ここに書くと新たに表示したものの.status_moreを閉じることはできるが
67
+ // ページ上部で開いていた.status_moreも閉じてしまう
68
+ $('.bt_more').prevAll('.status_more').hide();
69
+ $('.bt_more').children('span').text('表示する').removeClass('close');
58
70
  });
59
-
60
-
61
- // ここでうまく隠すような設定をし
71
+ // 上のようにコールバックの中に書くことで全体に適用はでき
62
- // 現状下のように書いているが消えない
72
+ // 以前はここに書いてい
63
- $('.bt_more').prevAll('.status_more').hide();
73
+ // $('.bt_more').prevAll('.status_more').hide();
64
- $('.bt_more').children('span').text('表示する').removeClass('close');
74
+ // $('.bt_more').children('span').text('表示する').removeClass('close');
65
75
  }
66
76
 
67
77
  });