質問編集履歴
3
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,14 +13,13 @@
|
|
13
13
|
それがどこで記憶されているのかが分かれば対応のしようがあるのですが、
|
14
14
|
見つけ出せず困っています。。
|
15
15
|
|
16
|
-
|
16
|
+
現象:
|
17
17
|
最初の要素の高さが1500pxで、入れ替えた後の要素の高さが1000pxの場合、
|
18
18
|
1000pxまでしかスクロールしてほしくないが、1500pxまでスクロールしてしまう。
|
19
19
|
※要素の下部に500pxの空白ができてしまう。
|
20
20
|
|
21
|
-
|
21
|
+
コード:
|
22
|
-
```
|
23
|
-
$(".drawer-toggle").on("click", function(e){
|
22
|
+
```$(".drawer-toggle").on("click", function(e){
|
24
23
|
if($('body').hasClass("drawer-open")){
|
25
24
|
if (drawer_open_flg == false) {
|
26
25
|
if($('.filterConditionBtn')){
|
2
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
※要素の下部に500pxの空白ができてしまう。
|
20
20
|
|
21
21
|
ソース:
|
22
|
+
```
|
22
23
|
$(".drawer-toggle").on("click", function(e){
|
23
24
|
if($('body').hasClass("drawer-open")){
|
24
25
|
if (drawer_open_flg == false) {
|
@@ -51,7 +52,7 @@
|
|
51
52
|
}
|
52
53
|
}
|
53
54
|
});
|
54
|
-
|
55
|
+
```
|
55
56
|
|
56
57
|
.drawer()メソッドを複数回呼べるのであればそうしようと思っていたのですが、
|
57
58
|
どうもできないっぽいので苦肉の策としてこのようなやり方をしています。
|
1
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,19 +1,58 @@
|
|
1
|
-
drawer.js を使ってドロワーメニューを
|
1
|
+
drawer.js を使ってドロワーメニューを表示しています。
|
2
2
|
|
3
|
-
商品一覧の画面で、
|
4
|
-
ハンバーガーメニューがタップされたときはグローバルナビを、
|
3
|
+
商品一覧画面でハンバーガーメニューがタップされたときはグローバルナビを、
|
5
4
|
「条件を指定する」ボタンがタップされたときは条件指定フォームを、
|
6
|
-
それぞれドロワーで出したいと思っているのですが、
|
5
|
+
それぞれ同じドロワー内で出し分けたいと思っているのですが、
|
6
|
+
スクロールの縦幅指定だけがうまくいきません。
|
7
7
|
|
8
|
-
やり方としては、タップされたボタンに応じてdrawer-navの中身を
|
8
|
+
現在のやり方としては、タップされたボタンに応じてdrawer-navの中身を
|
9
9
|
jsで入れ替えているのですが、要素の高さが変わってしまうと、
|
10
|
-
$('.drawer').drawer(); が走ったときの高さが記憶されて
|
10
|
+
$('.drawer').drawer(); が走ったときにドロワー内の要素の高さが記憶されて
|
11
|
-
入れ替えた後の要素の高さ
|
11
|
+
しまっているようで、入れ替えた後の要素の高さに合わせる制御ができません。
|
12
12
|
|
13
|
+
それがどこで記憶されているのかが分かれば対応のしようがあるのですが、
|
14
|
+
見つけ出せず困っています。。
|
15
|
+
|
13
16
|
例:
|
14
17
|
最初の要素の高さが1500pxで、入れ替えた後の要素の高さが1000pxの場合、
|
15
18
|
1000pxまでしかスクロールしてほしくないが、1500pxまでスクロールしてしまう。
|
19
|
+
※要素の下部に500pxの空白ができてしまう。
|
16
20
|
|
21
|
+
ソース:
|
22
|
+
$(".drawer-toggle").on("click", function(e){
|
23
|
+
if($('body').hasClass("drawer-open")){
|
24
|
+
if (drawer_open_flg == false) {
|
25
|
+
if($('.filterConditionBtn')){
|
26
|
+
if($(this).hasClass('filterConditionBtn')){
|
27
|
+
// 元の要素を非表示
|
28
|
+
$('#sp_gnav').css('display', 'none');
|
29
|
+
// 検索条件フォームの要素を挿入 → 表示
|
30
|
+
$('#itemList_sideNav').clone().prependTo('.drawer-menu');
|
31
|
+
$('.drawer-menu #itemList_sideNav').css('display', 'block');
|
32
|
+
}
|
33
|
+
}
|
34
|
+
drawer_open_flg = true;
|
35
|
+
// 背景のスクロール停止
|
36
|
+
window.addEventListener( 'touchmove' , movefun , { passive: false } );
|
37
|
+
}
|
38
|
+
} else if($('body').hasClass('drawer-close')) {
|
39
|
+
if (drawer_open_flg == true) {
|
40
|
+
if($('.filterConditionBtn')){
|
41
|
+
if($('.drawer-menu #itemList_sideNav')){
|
42
|
+
// 検索条件フォームの要素を削除
|
43
|
+
$('.drawer-menu #itemList_sideNav').remove();
|
44
|
+
}
|
45
|
+
// 元々の要素を表示
|
46
|
+
$('#sp_gnav').css('display', 'block');
|
47
|
+
}
|
48
|
+
drawer_open_flg = false;
|
49
|
+
// 背景のスクロール停止を解除
|
50
|
+
window.removeEventListener( 'touchmove' , movefun, { passive: false } );
|
51
|
+
}
|
52
|
+
}
|
53
|
+
});
|
54
|
+
------
|
55
|
+
|
17
56
|
.drawer()メソッドを複数回呼べるのであればそうしようと思っていたのですが、
|
18
57
|
どうもできないっぽいので苦肉の策としてこのようなやり方をしています。
|
19
58
|
|