質問編集履歴
1
全角を半角に直しました、Windowとheaderの位置の差を見るためにscrollYを使いました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
モバイルサイトの際にだけ適用させたいイベントがあり
|
2
|
+
|
3
|
+
指定したサイズでなおかつ画面がスクロールした際に
|
4
|
+
Window.scrollYからheaderのoffsetTopからの差が起きた際のイベントとして
|
2
5
|
下記のようにしてイベント等を付与したいのですが
|
3
6
|
|
4
7
|
コンソールbは出るのですがaの方が出力されませんでした
|
@@ -19,7 +22,26 @@
|
|
19
22
|
|
20
23
|
よろしくお願いいたします
|
21
24
|
|
25
|
+
<HTML>
|
22
26
|
```
|
27
|
+
<header>
|
28
|
+
<div id="mobile_bar">
|
29
|
+
<h1 id="main_title">Title</h1>
|
30
|
+
<p id="mobile_menu">MENU</p>
|
31
|
+
</div>
|
32
|
+
<nav id="menu_bar">
|
33
|
+
<ul id="menu_list">
|
34
|
+
<li><a href="#">Home</a></li>
|
35
|
+
<li><a href="#">Gallery</a></li>
|
36
|
+
<li><a href="#">Blog</a></li>
|
37
|
+
</ul>
|
38
|
+
</nav>
|
39
|
+
</header>
|
40
|
+
コード
|
41
|
+
```
|
42
|
+
|
43
|
+
<javascript>
|
44
|
+
```
|
23
45
|
let menu = document.getElementsByTagName('header')[0];
|
24
46
|
let topOfmenu = menu.offsetTop;
|
25
47
|
|
@@ -28,7 +50,7 @@
|
|
28
50
|
handle(media_menu);
|
29
51
|
media_menu.addListener(handle);
|
30
52
|
function handle(mq) {
|
31
|
-
if (mq.matches
|
53
|
+
if (mq.matches && window.scrollY > topOfmenu) {
|
32
54
|
// ウィンドウサイズが435px以下のとき
|
33
55
|
console.log('a');
|
34
56
|
} else {
|