質問編集履歴

3

誤字訂正

2017/03/09 00:01

投稿

ebihurai3hon
ebihurai3hon

スコア7

test CHANGED
File without changes
test CHANGED
@@ -194,7 +194,7 @@
194
194
 
195
195
  などを加えてリサイズ前のクラスを除去する事によって、レスポンシブ化しました。
196
196
 
197
- ---
197
+
198
198
 
199
199
  しかし、
200
200
 

2

解決法

2017/03/09 00:01

投稿

ebihurai3hon
ebihurai3hon

スコア7

test CHANGED
File without changes
test CHANGED
@@ -18,12 +18,6 @@
18
18
 
19
19
 
20
20
 
21
- "マテリアル2"というテーマのハンガーメニュー(サイドバー)はデフォルトではスマホか、PCかの条件分岐しかありませんでした。
22
-
23
- PCでリサイズしたときも、ハンガーメニューを使いたい(レスポンシブ化したい)と思い、手を加える事にしました。
24
-
25
-
26
-
27
21
  元のソース:script.js(抜粋)は以下の通りです。
28
22
 
29
23
  ```js
@@ -184,11 +178,7 @@
184
178
 
185
179
  ```
186
180
 
187
- http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13140268008
188
-
189
- を見て画面サイズを変更した時イベントを取得できるようにしました。(次の章にソースコードを掲載しています)
181
+ まず、画面サイズを変更した時イベントを取得できるようにしました。
190
-
191
-
192
182
 
193
183
  しかし、リサイズした時、リサイズ前のウィンドウサイズであった時のクラスが残っていたため、リサイズしてもハンガーメニューが上手く動きませんでした。
194
184
 
@@ -204,8 +194,6 @@
204
194
 
205
195
  などを加えてリサイズ前のクラスを除去する事によって、レスポンシブ化しました。
206
196
 
207
-
208
-
209
197
  ---
210
198
 
211
199
  しかし、
@@ -216,13 +204,7 @@
216
204
 
217
205
 
218
206
 
219
- と`.side_innner`に`position`が追加されてしまい、ハンガーメニューが表示されません。
207
+ と`.side_innner`に`position`が追加されてしまい、ハンガーメニューが表示されません。何故`position`が追加されてしまうのでしょうか?
220
-
221
-
222
-
223
- 何故`position`が追加されてしまうのでしょうか?
224
-
225
-
226
208
 
227
209
 
228
210
 
@@ -476,4 +458,42 @@
476
458
 
477
459
  ```
478
460
 
461
+ ###リサイズ時にスクロール位置を記録してリロードすることで問題を回避
462
+
463
+
464
+
465
+ ```javascript
466
+
467
+ jQuery(document).ready(function(){
468
+
469
+ var timer = false;
470
+
471
+ jQuery(window).on("load resize", ReLayout);
472
+
473
+ function ReLayout() { … }
474
+
475
+ if (event.type == 'resize') {
476
+
477
+ if (timer !== false) {
478
+
479
+ clearTimeout(timer);
480
+
481
+ }
482
+
483
+ timer = setTimeout(function() {
484
+
485
+ y = document.documentElement.scrollTop || document.body.scrollTop;
486
+
487
+ location.reload();
488
+
489
+ window.scroll( 0, y);
490
+
479
- ###補足情報
491
+ }, 200);
492
+
493
+ }
494
+
495
+ }
496
+
497
+ });
498
+
499
+ ```

1

追記

2017/03/09 00:00

投稿

ebihurai3hon
ebihurai3hon

スコア7

test CHANGED
File without changes
test CHANGED
File without changes