回答編集履歴

4

追加分の処理に対してのコメントアウトを追加

2019/06/10 16:15

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -110,11 +110,17 @@
110
110
 
111
111
  });
112
112
 
113
+ // 一番うえのクリックが、動作不良になっていたため、一旦処理をコメントアウト。setTimeoutや、jQueryのdelay()メソッドをうまく使えば、うまく動作するかもしれない。
114
+
113
115
  //$(".attend-contents").eq( 0 ).click();
114
116
 
115
117
  } else {
116
118
 
119
+ // 念の為、この条件下でも、クリックイベントを削除
120
+
117
121
  $( ".attend-contents" ).off('click').each(function(){
122
+
123
+ // 各クラス、CSSのクリアを行なった
118
124
 
119
125
  $( this ).removeClass( "open" ).find( ".yazirushi2" ).css( "transform", "" );
120
126
 

3

CSSのクリアの処理を追加

2019/06/10 16:14

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -110,7 +110,21 @@
110
110
 
111
111
  });
112
112
 
113
- $(".attend-contents").eq( 0 ).click();
113
+ //$(".attend-contents").eq( 0 ).click();
114
+
115
+ } else {
116
+
117
+ $( ".attend-contents" ).off('click').each(function(){
118
+
119
+ $( this ).removeClass( "open" ).find( ".yazirushi2" ).css( "transform", "" );
120
+
121
+ $( this ).find(".attend-tittle").css("border-bottom","");
122
+
123
+ $( this ).find(".attend-text").css("display","");
124
+
125
+ });
126
+
127
+
114
128
 
115
129
  }
116
130
 

2

インデントが不揃いだったので、整頓した

2019/06/10 15:55

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -26,99 +26,99 @@
26
26
 
27
27
  $(function(){
28
28
 
29
-
30
29
 
31
- // 処理が頻発しないようにするため、タイマーを用意
32
30
 
33
- let resizeTimer = null;
31
+ // 処理が頻発しないようにするため、タイマーを用意
34
32
 
35
- // 変数を外側においた
33
+ let resizeTimer = null;
36
34
 
37
- let windowWidth = $(window).width();
35
+ // 変数を外側においた
38
36
 
37
+ let windowWidth = $(window).width();
38
+
39
- const windowSm = 767;
39
+ const windowSm = 767;
40
40
 
41
41
 
42
42
 
43
43
 
44
44
 
45
- $(window).resize(function() {
45
+ $(window).resize(function() {
46
46
 
47
- // resizeのたびに、数値を更新
47
+ // resizeのたびに、数値を更新
48
48
 
49
- windowWidth = $(window).width();
49
+ windowWidth = $(window).width();
50
50
 
51
- // タイマーが生きていたら、クリア
51
+ // タイマーが生きていたら、クリア
52
52
 
53
- if (resizeTimer) {
53
+ if (resizeTimer) {
54
54
 
55
- clearTimeout(resizeTimer);
55
+ clearTimeout(resizeTimer);
56
56
 
57
- }
57
+ }
58
58
 
59
- // リサイズのタイミングを変えたければ、タイマーの時間を調整
59
+ // リサイズのタイミングを変えたければ、タイマーの時間を調整
60
60
 
61
- resizeTimer = setTimeout(function(){
61
+ resizeTimer = setTimeout(function(){
62
62
 
63
- // イベント設定用関数の実行
63
+ // イベント設定用関数の実行
64
64
 
65
- addClickevents();
65
+ addClickevents();
66
66
 
67
- }, 100);
67
+ }, 100);
68
68
 
69
69
 
70
70
 
71
- });
71
+ });
72
72
 
73
73
 
74
74
 
75
- function addClickevents(){
75
+ // イベントを設定する関数
76
76
 
77
- // クリックイベントは、いずれの場合も、一旦削除する
77
+ function addClickevents(){
78
78
 
79
- $( ".attend-contents" ).off('click');
79
+ // クリックイベントは、いずれの場合も、一旦削除する
80
80
 
81
- if (windowWidth <= windowSm){
81
+ $( ".attend-contents" ).off('click');
82
82
 
83
- // 横幅が、設定以下である
83
+ if (windowWidth <= windowSm){
84
84
 
85
- $( ".attend-contents" ).click( function(){
85
+ // 横幅が、設定以下である
86
86
 
87
- // 二重三重発生を防ぐためにストップを挟む
87
+ $( ".attend-contents" ).click( function(){
88
88
 
89
- $( this ).find( ".attend-text" ).stop().slideToggle();
89
+ // 二重三重発生を防ぐためにストップを挟む
90
90
 
91
- if( $( this ).hasClass( "open" ) ){
91
+ $( this ).find( ".attend-text" ).stop().slideToggle();
92
92
 
93
- $( this ).find( ".yazirushi2" ).css( "transform", "rotate( 45deg )" );
93
+ if( $( this ).hasClass( "open" ) ){
94
94
 
95
- $( this ).removeClass( "open" );
95
+ $( this ).find( ".yazirushi2" ).css( "transform", "rotate( 45deg )" );
96
96
 
97
- $(this).find(".attend-tittle").css("border-bottom","none");
97
+ $( this ).removeClass( "open" );
98
98
 
99
- } else {
99
+ $(this).find(".attend-tittle").css("border-bottom","none");
100
100
 
101
- $( this ).find( ".yazirushi2" ).css( "transform", "rotate( 225deg )" );
101
+ } else {
102
102
 
103
- $( this ).addClass( "open" );
103
+ $( this ).find( ".yazirushi2" ).css( "transform", "rotate( 225deg )" );
104
104
 
105
- $(this).find(".attend-tittle").css("border-bottom","2px solid black");
105
+ $( this ).addClass( "open" );
106
106
 
107
- }
107
+ $(this).find(".attend-tittle").css("border-bottom","2px solid black");
108
108
 
109
- });
109
+ }
110
110
 
111
- $(".attend-contents").eq( 0 ).click();
111
+ });
112
112
 
113
- }
113
+ $(".attend-contents").eq( 0 ).click();
114
114
 
115
-
115
+ }
116
116
 
117
- }
117
+ }
118
118
 
119
- // 初回実行
119
+ // 初回実行
120
120
 
121
- addClickevents();
121
+ addClickevents();
122
122
 
123
123
 
124
124
 

1

jsの実コードを記載

2019/06/10 13:34

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -13,3 +13,117 @@
13
13
  今書かれている、処理と同じ処理を、リサイズイベントの中で書けば、
14
14
 
15
15
  リサイズするたびに、画面サイズの条件に合えば実行と、できるでしょう。
16
+
17
+
18
+
19
+ 下記でいかがでしょうか。
20
+
21
+ 各所で、コメントアウトにて、こうした、などの記載をしています。
22
+
23
+
24
+
25
+ ```javascript
26
+
27
+ $(function(){
28
+
29
+
30
+
31
+ // 処理が頻発しないようにするため、タイマーを用意
32
+
33
+ let resizeTimer = null;
34
+
35
+ // 変数を外側においた
36
+
37
+ let windowWidth = $(window).width();
38
+
39
+ const windowSm = 767;
40
+
41
+
42
+
43
+
44
+
45
+ $(window).resize(function() {
46
+
47
+ // resizeのたびに、数値を更新
48
+
49
+ windowWidth = $(window).width();
50
+
51
+ // タイマーが生きていたら、クリア
52
+
53
+ if (resizeTimer) {
54
+
55
+ clearTimeout(resizeTimer);
56
+
57
+ }
58
+
59
+ // リサイズのタイミングを変えたければ、タイマーの時間を調整
60
+
61
+ resizeTimer = setTimeout(function(){
62
+
63
+ // イベント設定用関数の実行
64
+
65
+ addClickevents();
66
+
67
+ }, 100);
68
+
69
+
70
+
71
+ });
72
+
73
+
74
+
75
+ function addClickevents(){
76
+
77
+ // クリックイベントは、いずれの場合も、一旦削除する
78
+
79
+ $( ".attend-contents" ).off('click');
80
+
81
+ if (windowWidth <= windowSm){
82
+
83
+ // 横幅が、設定以下である
84
+
85
+ $( ".attend-contents" ).click( function(){
86
+
87
+ // 二重三重発生を防ぐためにストップを挟む
88
+
89
+ $( this ).find( ".attend-text" ).stop().slideToggle();
90
+
91
+ if( $( this ).hasClass( "open" ) ){
92
+
93
+ $( this ).find( ".yazirushi2" ).css( "transform", "rotate( 45deg )" );
94
+
95
+ $( this ).removeClass( "open" );
96
+
97
+ $(this).find(".attend-tittle").css("border-bottom","none");
98
+
99
+ } else {
100
+
101
+ $( this ).find( ".yazirushi2" ).css( "transform", "rotate( 225deg )" );
102
+
103
+ $( this ).addClass( "open" );
104
+
105
+ $(this).find(".attend-tittle").css("border-bottom","2px solid black");
106
+
107
+ }
108
+
109
+ });
110
+
111
+ $(".attend-contents").eq( 0 ).click();
112
+
113
+ }
114
+
115
+
116
+
117
+ }
118
+
119
+ // 初回実行
120
+
121
+ addClickevents();
122
+
123
+
124
+
125
+
126
+
127
+ });
128
+
129
+ ```