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

回答編集履歴

2

複数の.textクラスの場合を追加

2015/06/27 15:21

投稿

packet1024
packet1024

スコア342

answer CHANGED
@@ -16,4 +16,21 @@
16
16
  .animate({
17
17
  height: hreal+"px"
18
18
  },300);
19
+ ```
20
+
21
+ 複数の.textクラスの場合は親からその中の.textを探すバージョンです。
22
+ ```lang-JavaScript
23
+ $(".more").click(function(){
24
+ $(this).css("display","none");
25
+ var close = $(this).parents('div').find('.close');
26
+ close.css("display","block");
27
+ var text = $(this).parents('div').find('.text');
28
+ var h = text.height();
29
+ text.css({display: "block", height: "auto"});
30
+ var hreal = text.height();
31
+ text.css({height: h+"px"});
32
+ text.animate({
33
+ height: hreal+"px"
34
+ },300);
35
+ });
19
36
  ```

1

誤字と補足を追加しました

2015/06/27 15:21

投稿

packet1024
packet1024

スコア342

answer CHANGED
@@ -1,6 +1,9 @@
1
1
  animateする前にheightをautoに戻して実際の高さを取得後、再度高さを元に戻して
2
2
  実際の高さにanimateするというのはいかがでしょうか。
3
3
 
4
+ 但し.textで記述されているので.textが複数ある場合は$('.text')で指定せず
5
+ clickされた.moreの親から辿って該当の.textを探す必要はあるかと思います。
6
+
4
7
  > <自作jQuery>
5
8
  > http://codepen.io/i_ryo/pen/PqEqmM
6
9