回答編集履歴

2

each内の対象の条件式の修正

2018/04/20 01:06

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -26,9 +26,9 @@
26
26
 
27
27
  $(".inside").each(function(){
28
28
 
29
- if(!$(this).is(":hidden").not(target)){
29
+ if(!$(this).is(":hidden")){
30
30
 
31
- $(this).stop().slideUp(500);
31
+ $(this).not(target).stop().slideUp(500);
32
32
 
33
33
  }
34
34
 

1

非表示かの判別の対象を修正

2018/04/20 01:06

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- if ($(this).is(":hidden")) {
39
+ if (target.is(":hidden")) {
40
40
 
41
41
  target.stop().slideDown(500);
42
42
 
@@ -56,8 +56,12 @@
56
56
 
57
57
 
58
58
 
59
+ 一度、クリックした要素の.insideと、それ以外の.insideと処理を分けています。
60
+
61
+ こうすることによって、挙動を分けてわかりやすくなります。
62
+
59
63
  また、stop()を実行することによって、
60
64
 
61
65
  何度もクリックされた際の、変な挙動を抑えることができます。
62
66
 
63
- (これを入れないと、クリックした回数分アニメーション処理が実行されてしまう)
67
+ (これを入れないと、連続クリックした回数分アニメーション処理が実行されてしまう)