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