回答編集履歴
11
調整
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
----
|
4
4
|
|
5
|
-
__< 小出しされた情報で無効になった修正もあり見辛くなっていたので
|
5
|
+
__< 小出しされた情報で無効になった修正もあり見辛くなっていたので整理して書き直しました。 >__
|
6
6
|
|
7
7
|
|
8
8
|
|
10
文章調整
test
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
----
|
4
4
|
|
5
|
+
__< 小出しされた情報で無効になった修正もあり見辛くなっていたので丸々書き換えました。 >__
|
6
|
+
|
5
7
|
|
6
8
|
|
7
9
|
### アンカーの問題
|
@@ -216,4 +218,4 @@
|
|
216
218
|
|
217
219
|
### CodePen 検証
|
218
220
|
|
219
|
-
https://codepen.io/isscode/pen/pooMBJL
|
221
|
+
[https://codepen.io/isscode/pen/pooMBJL](https://codepen.io/isscode/pen/pooMBJL)
|
9
調整
test
CHANGED
@@ -148,7 +148,7 @@
|
|
148
148
|
|
149
149
|
|
150
150
|
|
151
|
-
<div id="work" style="margin:50px 0 100vh 0;">#work 各スクロールしたい階層<
|
151
|
+
<div id="work" style="margin:50px 0 100vh 0;">#work 各スクロールしたい階層</div>
|
152
152
|
|
153
153
|
<div id="about" style="margin-bottom:100vh;">#about 各スクロールしたい階層<br><a href="#">▲先頭に戻る</a></div>
|
154
154
|
|
8
CSS追記に伴うコード調整
test
CHANGED
@@ -26,45 +26,187 @@
|
|
26
26
|
|
27
27
|
閉じる時のクリック判定が、開く時の判定の中にあるため動作していません。
|
28
28
|
|
29
|
+
|
30
|
+
|
31
|
+
~~$('#nav a').on('click', function() {~~
|
32
|
+
|
33
|
+
~~ $('#nav').toggleClass('active');~~
|
34
|
+
|
35
|
+
~~ $(".Toggle").toggleClass('active');~~
|
36
|
+
|
37
|
+
~~})~~
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
の部分は**全部カット**して、Classの付加処理は
|
42
|
+
|
43
|
+
`$('a[href^=#]').click(function() {` の中に移動しましょう。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
また、メニュークリックでは必ずハンバーガーが閉じるので`toggleClass`ではなく`removeClass`にしたほうが後々の処理干渉がなくなるのでおすすめ。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
あとCSSから察するに、`open` の class は header ではなく`nav.NavMenu` に付く事で動作しているようなので、
|
52
|
+
|
53
|
+
`$('header').removeClass('open');` の指定箇所は
|
54
|
+
|
55
|
+
`$('.NavMenu').removeClass('open');` にしました。
|
56
|
+
|
57
|
+
|
58
|
+
|
29
59
|
```JavaScript
|
30
60
|
|
31
|
-
|
61
|
+
$('a[href^=#]').click(function() {
|
62
|
+
|
32
|
-
|
63
|
+
var speed = 400;
|
64
|
+
|
65
|
+
var href= $(this).attr("href");
|
66
|
+
|
67
|
+
var target = $(href == "#" || href == "" ? 'html' : href);
|
68
|
+
|
69
|
+
var position = target.offset().top;
|
70
|
+
|
71
|
+
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
72
|
+
|
73
|
+
$('.NavMenu').removeClass('open');
|
74
|
+
|
33
|
-
|
75
|
+
$('.NavMenu').removeClass('active');
|
34
|
-
|
76
|
+
|
35
|
-
|
77
|
+
$(".Toggle").removeClass('active');
|
78
|
+
|
36
|
-
|
79
|
+
return false;
|
80
|
+
|
37
|
-
|
81
|
+
});
|
38
|
-
|
82
|
+
|
39
|
-
```
|
83
|
+
```
|
84
|
+
|
85
|
+
|
86
|
+
|
40
|
-
|
87
|
+
### 検証したコード
|
88
|
+
|
89
|
+
参考に検証したコードをはっておきます。
|
90
|
+
|
91
|
+
```HTML
|
92
|
+
|
93
|
+
<!DOCTYPE html>
|
94
|
+
|
95
|
+
<!DOCTYPE html>
|
96
|
+
|
97
|
+
<html lang="ja">
|
98
|
+
|
41
|
-
|
99
|
+
<head>
|
100
|
+
|
42
|
-
|
101
|
+
<meta charset="UTF-8">
|
102
|
+
|
103
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
104
|
+
|
105
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
106
|
+
|
107
|
+
<title>Document</title>
|
108
|
+
|
109
|
+
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
|
110
|
+
|
111
|
+
<style>
|
112
|
+
|
113
|
+
</style>
|
114
|
+
|
115
|
+
</head>
|
116
|
+
|
117
|
+
<body>
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
<div class="hamburger">
|
122
|
+
|
123
|
+
<div class="Toggle">
|
124
|
+
|
125
|
+
<span></span>
|
126
|
+
|
127
|
+
<span></span>
|
128
|
+
|
129
|
+
<span></span>
|
130
|
+
|
131
|
+
</div>
|
132
|
+
|
133
|
+
</div>
|
134
|
+
|
135
|
+
<nav class="NavMenu">
|
136
|
+
|
137
|
+
<ul class="hummanu">
|
138
|
+
|
43
|
-
|
139
|
+
<li><a href="#work">Works</a></li>
|
140
|
+
|
141
|
+
<li><a href="#about">About</a></li>
|
142
|
+
|
143
|
+
<li><a href="#contact">Contact</a></li>
|
144
|
+
|
145
|
+
</ul>
|
146
|
+
|
147
|
+
</nav>
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
<div id="work" style="margin:50px 0 100vh 0;">#work 各スクロールしたい階層<br><a href="#">▲先頭に戻る</a></div>
|
152
|
+
|
153
|
+
<div id="about" style="margin-bottom:100vh;">#about 各スクロールしたい階層<br><a href="#">▲先頭に戻る</a></div>
|
154
|
+
|
155
|
+
<div id="contact" style="margin-bottom:100vh;">#contact 各スクロールしたい階層<br><a href="#">▲先頭に戻る</a></div>
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
</body>
|
160
|
+
|
161
|
+
</html>
|
162
|
+
|
163
|
+
```
|
44
164
|
|
45
165
|
|
46
166
|
|
47
167
|
```JavaScript
|
48
168
|
|
169
|
+
$(function () {
|
170
|
+
|
171
|
+
$('.Toggle').click(function () {
|
172
|
+
|
173
|
+
$('.NavMenu').toggleClass('open');
|
174
|
+
|
175
|
+
$(this).toggleClass('active');
|
176
|
+
|
177
|
+
if ($(this).hasClass('active')) {
|
178
|
+
|
179
|
+
$('.NavMenu').addClass('active'); //クラスを付与
|
180
|
+
|
181
|
+
} else {
|
182
|
+
|
183
|
+
$('.NavMenu').removeClass('active'); //クラスを外す
|
184
|
+
|
185
|
+
}
|
186
|
+
|
187
|
+
});
|
188
|
+
|
49
|
-
$('a[href^=#]').click(function() {
|
189
|
+
$('a[href^=#]').click(function() {
|
50
|
-
|
190
|
+
|
51
|
-
|
191
|
+
var speed = 400;
|
52
|
-
|
192
|
+
|
53
|
-
|
193
|
+
var href= $(this).attr("href");
|
54
|
-
|
194
|
+
|
55
|
-
|
195
|
+
var target = $(href == "#" || href == "" ? 'html' : href);
|
56
|
-
|
196
|
+
|
57
|
-
|
197
|
+
var position = target.offset().top;
|
58
|
-
|
198
|
+
|
59
|
-
|
199
|
+
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
60
|
-
|
200
|
+
|
61
|
-
|
201
|
+
$('.NavMenu').removeClass('open');
|
62
|
-
|
202
|
+
|
63
|
-
|
203
|
+
$('.NavMenu').removeClass('active');
|
64
|
-
|
204
|
+
|
65
|
-
|
205
|
+
$(".Toggle").removeClass('active');
|
66
|
-
|
206
|
+
|
67
|
-
|
207
|
+
return false;
|
208
|
+
|
209
|
+
});
|
68
210
|
|
69
211
|
});
|
70
212
|
|
@@ -72,138 +214,6 @@
|
|
72
214
|
|
73
215
|
|
74
216
|
|
75
|
-
### 検証
|
217
|
+
### CodePen 検証
|
76
|
-
|
77
|
-
|
218
|
+
|
78
|
-
|
79
|
-
(勝手に.NavMenu .NavMenu.activeにdisplay:none/block を指定して検証しました)
|
80
|
-
|
81
|
-
```HTML
|
82
|
-
|
83
|
-
<!DOCTYPE html>
|
84
|
-
|
85
|
-
<html lang="ja">
|
86
|
-
|
87
|
-
<head>
|
88
|
-
|
89
|
-
<meta charset="UTF-8">
|
90
|
-
|
91
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
92
|
-
|
93
|
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
94
|
-
|
95
|
-
<title>Document</title>
|
96
|
-
|
97
|
-
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
|
98
|
-
|
99
|
-
<style>
|
100
|
-
|
101
|
-
.NavMenu {display:none;}
|
102
|
-
|
103
|
-
.NavMenu.active {display:block;}
|
104
|
-
|
105
|
-
</style>
|
106
|
-
|
107
|
-
</head>
|
108
|
-
|
109
|
-
<body>
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
<header>
|
116
|
-
|
117
|
-
<div class="hamburger">
|
118
|
-
|
119
|
-
<div class="Toggle">
|
120
|
-
|
121
|
-
<span>-</span>
|
122
|
-
|
123
|
-
<span>-</span>
|
124
|
-
|
125
|
-
<span>-</span>
|
126
|
-
|
127
|
-
</div>
|
128
|
-
|
129
|
-
</div>
|
130
|
-
|
131
|
-
<nav class="NavMenu">
|
132
|
-
|
133
|
-
<ul class="hummanu">
|
134
|
-
|
135
|
-
<li><a href="#work">Works</a></li>
|
136
|
-
|
137
|
-
<li><a href="#about">About</a></li>
|
138
|
-
|
139
|
-
<li><a href="#contact">Contact</a></li>
|
140
|
-
|
141
|
-
</ul>
|
142
|
-
|
143
|
-
</nav>
|
144
|
-
|
145
|
-
</header>
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
<div id="work" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
150
|
-
|
151
|
-
<div id="about" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
152
|
-
|
153
|
-
<div id="contact" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
<script>
|
158
|
-
|
159
|
-
$(function () {
|
160
|
-
|
161
|
-
$('.Toggle').click(function () {
|
162
|
-
|
163
|
-
|
219
|
+
https://codepen.io/isscode/pen/pooMBJL
|
164
|
-
|
165
|
-
$(this).toggleClass('active');
|
166
|
-
|
167
|
-
if ($(this).hasClass('active')) {
|
168
|
-
|
169
|
-
$('.NavMenu').addClass('active'); //クラスを付与
|
170
|
-
|
171
|
-
} else {
|
172
|
-
|
173
|
-
$('.NavMenu').removeClass('active'); //クラスを外す
|
174
|
-
|
175
|
-
}
|
176
|
-
|
177
|
-
});
|
178
|
-
|
179
|
-
$('a[href^=#]').click(function() {
|
180
|
-
|
181
|
-
var speed = 400;
|
182
|
-
|
183
|
-
var href= $(this).attr("href");
|
184
|
-
|
185
|
-
var target = $(href == "#" || href == "" ? 'html' : href);
|
186
|
-
|
187
|
-
var position = target.offset().top;
|
188
|
-
|
189
|
-
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
190
|
-
|
191
|
-
$('header').toggleClass('open');
|
192
|
-
|
193
|
-
$('.NavMenu').toggleClass('active');
|
194
|
-
|
195
|
-
$(".Toggle").toggleClass('active');
|
196
|
-
|
197
|
-
return false;
|
198
|
-
|
199
|
-
});
|
200
|
-
|
201
|
-
});
|
202
|
-
|
203
|
-
</script>
|
204
|
-
|
205
|
-
</body>
|
206
|
-
|
207
|
-
</html>
|
208
|
-
|
209
|
-
```
|
7
文字修正
test
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
----
|
4
4
|
|
5
|
+
|
6
|
+
|
5
7
|
### アンカーの問題
|
6
8
|
|
7
|
-
-----
|
8
|
-
|
9
9
|
アンカーリンクはclassではなくIDで指定する必要があります。
|
10
10
|
|
11
11
|
|
@@ -72,9 +72,9 @@
|
|
72
72
|
|
73
73
|
|
74
74
|
|
75
|
-
|
75
|
+
### 検証したコード
|
76
|
-
|
76
|
+
|
77
|
-
|
77
|
+
参考に検証したコードをはっておきます。
|
78
78
|
|
79
79
|
(勝手に.NavMenu .NavMenu.activeにdisplay:none/block を指定して検証しました)
|
80
80
|
|
6
追記・編集
test
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
|
1
|
+
追記修正版
|
2
|
-
|
3
|
-
|
4
2
|
|
5
3
|
----
|
6
4
|
|
7
|
-
|
5
|
+
### アンカーの問題
|
6
|
+
|
8
|
-
|
7
|
+
-----
|
9
|
-
|
10
8
|
|
11
9
|
アンカーリンクはclassではなくIDで指定する必要があります。
|
12
10
|
|
@@ -24,21 +22,53 @@
|
|
24
22
|
|
25
23
|
|
26
24
|
|
27
|
-
コードをまるまるコピーして検証を行い、
|
28
|
-
|
29
|
-
コメントを削除し、class を id に変更しただけでスクロールは動作が確認できました。
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
25
|
+
### ハンバーガーメニューが閉じれない問題
|
26
|
+
|
34
|
-
|
27
|
+
閉じる時のクリック判定が、開く時の判定の中にあるため動作していません。
|
28
|
+
|
29
|
+
```JavaScript
|
30
|
+
|
31
|
+
$('#nav a').on('click', function() {
|
32
|
+
|
33
|
+
$('#nav').toggleClass('active');
|
34
|
+
|
35
|
+
$(".Toggle").toggleClass('active');
|
36
|
+
|
37
|
+
})
|
38
|
+
|
39
|
+
```
|
40
|
+
|
41
|
+
の部分は全部カットして、
|
42
|
+
|
43
|
+
`$('a[href^=#]').click(function() {` の中に全部移動しましょう。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
```JavaScript
|
48
|
+
|
49
|
+
$('a[href^=#]').click(function() {
|
50
|
+
|
51
|
+
var speed = 400;
|
52
|
+
|
53
|
+
var href= $(this).attr("href");
|
54
|
+
|
55
|
+
var target = $(href == "#" || href == "" ? 'html' : href);
|
56
|
+
|
57
|
+
var position = target.offset().top;
|
58
|
+
|
59
|
+
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
60
|
+
|
35
|
-
|
61
|
+
$('header').toggleClass('open');
|
62
|
+
|
36
|
-
|
63
|
+
$('.NavMenu').toggleClass('active');
|
64
|
+
|
37
|
-
|
65
|
+
$(".Toggle").toggleClass('active');
|
38
|
-
|
66
|
+
|
39
|
-
|
67
|
+
return false;
|
40
|
-
|
68
|
+
|
41
|
-
|
69
|
+
});
|
70
|
+
|
71
|
+
```
|
42
72
|
|
43
73
|
|
44
74
|
|
@@ -46,6 +76,8 @@
|
|
46
76
|
|
47
77
|
▼参考に検証したコードをはっておきます。
|
48
78
|
|
79
|
+
(勝手に.NavMenu .NavMenu.activeにdisplay:none/block を指定して検証しました)
|
80
|
+
|
49
81
|
```HTML
|
50
82
|
|
51
83
|
<!DOCTYPE html>
|
@@ -58,52 +90,62 @@
|
|
58
90
|
|
59
91
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
60
92
|
|
93
|
+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
94
|
+
|
61
|
-
<title>
|
95
|
+
<title>Document</title>
|
62
96
|
|
63
97
|
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
|
64
98
|
|
99
|
+
<style>
|
100
|
+
|
101
|
+
.NavMenu {display:none;}
|
102
|
+
|
103
|
+
.NavMenu.active {display:block;}
|
104
|
+
|
105
|
+
</style>
|
106
|
+
|
65
107
|
</head>
|
66
108
|
|
67
109
|
<body>
|
68
110
|
|
69
111
|
|
70
112
|
|
113
|
+
|
114
|
+
|
71
115
|
<header>
|
72
116
|
|
73
|
-
<div class="hamburger">
|
117
|
+
<div class="hamburger">
|
74
|
-
|
118
|
+
|
75
|
-
<div class="Toggle">
|
119
|
+
<div class="Toggle">
|
76
|
-
|
120
|
+
|
77
|
-
<span>-</span>
|
121
|
+
<span>-</span>
|
78
|
-
|
122
|
+
|
79
|
-
<span>-</span>
|
123
|
+
<span>-</span>
|
80
|
-
|
124
|
+
|
81
|
-
<span>-</span>
|
125
|
+
<span>-</span>
|
126
|
+
|
127
|
+
</div>
|
82
128
|
|
83
129
|
</div>
|
84
130
|
|
131
|
+
<nav class="NavMenu">
|
132
|
+
|
133
|
+
<ul class="hummanu">
|
134
|
+
|
135
|
+
<li><a href="#work">Works</a></li>
|
136
|
+
|
137
|
+
<li><a href="#about">About</a></li>
|
138
|
+
|
139
|
+
<li><a href="#contact">Contact</a></li>
|
140
|
+
|
141
|
+
</ul>
|
142
|
+
|
85
|
-
</
|
143
|
+
</nav>
|
86
144
|
|
87
145
|
</header>
|
88
146
|
|
89
147
|
|
90
148
|
|
91
|
-
<nav class="NavMenu">
|
92
|
-
|
93
|
-
<ul class="hummanu">
|
94
|
-
|
95
|
-
<li><a href="#work">Works</a></li>
|
96
|
-
|
97
|
-
<li><a href="#about">About</a></li>
|
98
|
-
|
99
|
-
<li><a href="#contact">Contact</a></li>
|
100
|
-
|
101
|
-
</ul>
|
102
|
-
|
103
|
-
</nav>
|
104
|
-
|
105
|
-
|
106
|
-
|
107
149
|
<div id="work" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
108
150
|
|
109
151
|
<div id="about" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
@@ -116,51 +158,45 @@
|
|
116
158
|
|
117
159
|
$(function () {
|
118
160
|
|
119
|
-
|
161
|
+
$('.Toggle').click(function () {
|
120
|
-
|
162
|
+
|
121
|
-
|
163
|
+
$('header').toggleClass('open');
|
122
|
-
|
164
|
+
|
123
|
-
|
165
|
+
$(this).toggleClass('active');
|
124
|
-
|
166
|
+
|
125
|
-
|
167
|
+
if ($(this).hasClass('active')) {
|
126
|
-
|
168
|
+
|
127
|
-
|
169
|
+
$('.NavMenu').addClass('active'); //クラスを付与
|
128
|
-
|
170
|
+
|
129
|
-
|
171
|
+
} else {
|
130
|
-
|
172
|
+
|
131
|
-
|
173
|
+
$('.NavMenu').removeClass('active'); //クラスを外す
|
132
|
-
|
174
|
+
|
133
|
-
|
175
|
+
}
|
176
|
+
|
134
|
-
|
177
|
+
});
|
178
|
+
|
135
|
-
|
179
|
+
$('a[href^=#]').click(function() {
|
180
|
+
|
136
|
-
|
181
|
+
var speed = 400;
|
182
|
+
|
183
|
+
var href= $(this).attr("href");
|
184
|
+
|
185
|
+
var target = $(href == "#" || href == "" ? 'html' : href);
|
186
|
+
|
187
|
+
var position = target.offset().top;
|
188
|
+
|
189
|
+
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
190
|
+
|
191
|
+
$('header').toggleClass('open');
|
192
|
+
|
137
|
-
|
193
|
+
$('.NavMenu').toggleClass('active');
|
138
|
-
|
194
|
+
|
139
|
-
|
195
|
+
$(".Toggle").toggleClass('active');
|
140
|
-
|
196
|
+
|
141
|
-
|
197
|
+
return false;
|
142
|
-
|
143
|
-
|
144
|
-
|
198
|
+
|
145
|
-
|
199
|
+
});
|
146
|
-
|
147
|
-
$('a[href^=#]').click(function() {
|
148
|
-
|
149
|
-
var speed = 400;
|
150
|
-
|
151
|
-
var href= $(this).attr("href");
|
152
|
-
|
153
|
-
var target = $(href == "#" || href == "" ? 'html' : href);
|
154
|
-
|
155
|
-
var position = target.offset().top;
|
156
|
-
|
157
|
-
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
158
|
-
|
159
|
-
$('header').toggleClass('open');
|
160
|
-
|
161
|
-
return false;
|
162
|
-
|
163
|
-
});
|
164
200
|
|
165
201
|
});
|
166
202
|
|
5
追記
test
CHANGED
@@ -26,4 +26,148 @@
|
|
26
26
|
|
27
27
|
コードをまるまるコピーして検証を行い、
|
28
28
|
|
29
|
-
コメントを削除し、class を id に変更しただけで動作が確認できました。
|
29
|
+
コメントを削除し、class を id に変更しただけでスクロールは動作が確認できました。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
リンククリック後にハンバーガーメニューが閉じない原因は、閉じる指定がされていないだけかもしれません。
|
34
|
+
|
35
|
+
・`$('header').toggleClass('open');`
|
36
|
+
|
37
|
+
・`$(this).toggleClass('active');`
|
38
|
+
|
39
|
+
どっちがハンバーガーメニューの開閉に作用しているかCSSがないのでわかりませんが、
|
40
|
+
|
41
|
+
スクロールの処理のほうにどちらか(或いは両方?)の1行を追記すれば解決しそうです。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
▼参考に検証したコードをはっておきます。
|
48
|
+
|
49
|
+
```HTML
|
50
|
+
|
51
|
+
<!DOCTYPE html>
|
52
|
+
|
53
|
+
<html lang="ja">
|
54
|
+
|
55
|
+
<head>
|
56
|
+
|
57
|
+
<meta charset="UTF-8">
|
58
|
+
|
59
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
60
|
+
|
61
|
+
<title>sample</title>
|
62
|
+
|
63
|
+
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
|
64
|
+
|
65
|
+
</head>
|
66
|
+
|
67
|
+
<body>
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
<header>
|
72
|
+
|
73
|
+
<div class="hamburger">
|
74
|
+
|
75
|
+
<div class="Toggle">
|
76
|
+
|
77
|
+
<span>-</span>
|
78
|
+
|
79
|
+
<span>-</span>
|
80
|
+
|
81
|
+
<span>-</span>
|
82
|
+
|
83
|
+
</div>
|
84
|
+
|
85
|
+
</div>
|
86
|
+
|
87
|
+
</header>
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
<nav class="NavMenu">
|
92
|
+
|
93
|
+
<ul class="hummanu">
|
94
|
+
|
95
|
+
<li><a href="#work">Works</a></li>
|
96
|
+
|
97
|
+
<li><a href="#about">About</a></li>
|
98
|
+
|
99
|
+
<li><a href="#contact">Contact</a></li>
|
100
|
+
|
101
|
+
</ul>
|
102
|
+
|
103
|
+
</nav>
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
<div id="work" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
108
|
+
|
109
|
+
<div id="about" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
110
|
+
|
111
|
+
<div id="contact" style="margin-bottom:100vh;">各スクロールしたい階層</div>
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
<script>
|
116
|
+
|
117
|
+
$(function () {
|
118
|
+
|
119
|
+
$('.Toggle').click(function () {
|
120
|
+
|
121
|
+
$('header').toggleClass('open');
|
122
|
+
|
123
|
+
$(this).toggleClass('active');
|
124
|
+
|
125
|
+
if ($(this).hasClass('active')) {
|
126
|
+
|
127
|
+
$('.NavMenu').addClass('active'); //クラスを付与
|
128
|
+
|
129
|
+
} else {
|
130
|
+
|
131
|
+
$('.NavMenu').removeClass('active'); //クラスを外す
|
132
|
+
|
133
|
+
}
|
134
|
+
|
135
|
+
$('#nav a').on('click', function() {
|
136
|
+
|
137
|
+
$('#nav').toggleClass('active');
|
138
|
+
|
139
|
+
$(".Toggle").toggleClass('active');
|
140
|
+
|
141
|
+
})
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
});
|
146
|
+
|
147
|
+
$('a[href^=#]').click(function() {
|
148
|
+
|
149
|
+
var speed = 400;
|
150
|
+
|
151
|
+
var href= $(this).attr("href");
|
152
|
+
|
153
|
+
var target = $(href == "#" || href == "" ? 'html' : href);
|
154
|
+
|
155
|
+
var position = target.offset().top;
|
156
|
+
|
157
|
+
$('body,html').animate({scrollTop:position}, speed, 'swing');
|
158
|
+
|
159
|
+
$('header').toggleClass('open');
|
160
|
+
|
161
|
+
return false;
|
162
|
+
|
163
|
+
});
|
164
|
+
|
165
|
+
});
|
166
|
+
|
167
|
+
</script>
|
168
|
+
|
169
|
+
</body>
|
170
|
+
|
171
|
+
</html>
|
172
|
+
|
173
|
+
```
|
4
追記
test
CHANGED
@@ -21,3 +21,9 @@
|
|
21
21
|
<div id="contact">各スクロールしたい階層</div>
|
22
22
|
|
23
23
|
```
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
コードをまるまるコピーして検証を行い、
|
28
|
+
|
29
|
+
コメントを削除し、class を id に変更しただけで動作が確認できました。
|
3
文字列修正
test
CHANGED
@@ -12,12 +12,12 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
```
|
15
|
+
```HTML
|
16
16
|
|
17
|
-
<div id="work">
|
17
|
+
<div id="work">各スクロールしたい階層</div>
|
18
18
|
|
19
|
-
<div id="about">
|
19
|
+
<div id="about">各スクロールしたい階層</div>
|
20
20
|
|
21
|
-
<div id="contact">
|
21
|
+
<div id="contact">各スクロールしたい階層</div>
|
22
22
|
|
23
23
|
```
|
2
追記
test
CHANGED
@@ -1 +1,23 @@
|
|
1
1
|
JavaScript内のコメントを`<!-- -->`ではなく`//`にしてみてください。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
----
|
6
|
+
|
7
|
+
コメントは質問欄だけの記載とのことでしたので追記
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
アンカーリンクはclassではなくIDで指定する必要があります。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
```ここに言語を入力
|
16
|
+
|
17
|
+
<div id="work">//各スクロールしたい階層</div>
|
18
|
+
|
19
|
+
<div id="about">//各スクロールしたい階層</div>
|
20
|
+
|
21
|
+
<div id="contact">//各スクロールしたい階層</div>
|
22
|
+
|
23
|
+
```
|
1
文字列修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Java
|
1
|
+
JavaScript内のコメントを`<!-- -->`ではなく`//`にしてみてください。
|