質問編集履歴

3

書式の改善

2018/08/29 04:30

投稿

ShotaHirako
ShotaHirako

スコア6

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
-
31
+ 現象
32
32
 
33
33
  最初の要素の高さが1500pxで、入れ替えた後の要素の高さが1000pxの場合、
34
34
 
@@ -38,11 +38,9 @@
38
38
 
39
39
 
40
40
 
41
-
41
+
42
42
 
43
- ```
44
-
45
- $(".drawer-toggle").on("click", function(e){
43
+ ```$(".drawer-toggle").on("click", function(e){
46
44
 
47
45
  if($('body').hasClass("drawer-open")){
48
46
 

2

書式の改善

2018/08/29 04:30

投稿

ShotaHirako
ShotaHirako

スコア6

test CHANGED
File without changes
test CHANGED
@@ -39,6 +39,8 @@
39
39
 
40
40
 
41
41
  ソース:
42
+
43
+ ```
42
44
 
43
45
  $(".drawer-toggle").on("click", function(e){
44
46
 
@@ -104,7 +106,7 @@
104
106
 
105
107
  });
106
108
 
107
- ------
109
+ ```
108
110
 
109
111
 
110
112
 

1

書式の改善

2018/08/29 04:29

投稿

ShotaHirako
ShotaHirako

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,24 +1,30 @@
1
- drawer.js を使ってドロワーメニューを作っています。
1
+ drawer.js を使ってドロワーメニューを表示しています。
2
2
 
3
3
 
4
4
 
5
- 商品一覧の画面で、
6
-
7
- ハンバーガーメニューがタップされたときはグローバルナビを、
5
+ 商品一覧画面でハンバーガーメニューがタップされたときはグローバルナビを、
8
6
 
9
7
  「条件を指定する」ボタンがタップされたときは条件指定フォームを、
10
8
 
11
- それぞれドロワーで出したいと思っているのですが、うまくいきません。
9
+ それぞれ同じドロワーで出し分けたいと思っているのですが、
10
+
11
+ スクロールの縦幅指定だけがうまくいきません。
12
12
 
13
13
 
14
14
 
15
- やり方としては、タップされたボタンに応じてdrawer-navの中身を
15
+ 現在のやり方としては、タップされたボタンに応じてdrawer-navの中身を
16
16
 
17
17
  jsで入れ替えているのですが、要素の高さが変わってしまうと、
18
18
 
19
- $('.drawer').drawer(); が走ったときの高さが記憶されてしまっているようで、
19
+ $('.drawer').drawer(); が走ったときにドロワー内要素の高さが記憶されて
20
20
 
21
- 入れ替えた後の要素の高さまでスクロールすような制御ができません。
21
+ しまっているようで、入れ替えた後の要素の高さに合わせる制御ができません。
22
+
23
+
24
+
25
+ それがどこで記憶されているのかが分かれば対応のしようがあるのですが、
26
+
27
+ 見つけ出せず困っています。。
22
28
 
23
29
 
24
30
 
@@ -27,6 +33,78 @@
27
33
  最初の要素の高さが1500pxで、入れ替えた後の要素の高さが1000pxの場合、
28
34
 
29
35
  1000pxまでしかスクロールしてほしくないが、1500pxまでスクロールしてしまう。
36
+
37
+ ※要素の下部に500pxの空白ができてしまう。
38
+
39
+
40
+
41
+ ソース:
42
+
43
+ $(".drawer-toggle").on("click", function(e){
44
+
45
+ if($('body').hasClass("drawer-open")){
46
+
47
+ if (drawer_open_flg == false) {
48
+
49
+ if($('.filterConditionBtn')){
50
+
51
+ if($(this).hasClass('filterConditionBtn')){
52
+
53
+ // 元の要素を非表示
54
+
55
+ $('#sp_gnav').css('display', 'none');
56
+
57
+ // 検索条件フォームの要素を挿入 → 表示
58
+
59
+ $('#itemList_sideNav').clone().prependTo('.drawer-menu');
60
+
61
+ $('.drawer-menu #itemList_sideNav').css('display', 'block');
62
+
63
+ }
64
+
65
+ }
66
+
67
+ drawer_open_flg = true;
68
+
69
+ // 背景のスクロール停止
70
+
71
+ window.addEventListener( 'touchmove' , movefun , { passive: false } );
72
+
73
+ }
74
+
75
+ } else if($('body').hasClass('drawer-close')) {
76
+
77
+ if (drawer_open_flg == true) {
78
+
79
+ if($('.filterConditionBtn')){
80
+
81
+ if($('.drawer-menu #itemList_sideNav')){
82
+
83
+ // 検索条件フォームの要素を削除
84
+
85
+ $('.drawer-menu #itemList_sideNav').remove();
86
+
87
+ }
88
+
89
+ // 元々の要素を表示
90
+
91
+ $('#sp_gnav').css('display', 'block');
92
+
93
+ }
94
+
95
+ drawer_open_flg = false;
96
+
97
+ // 背景のスクロール停止を解除
98
+
99
+ window.removeEventListener( 'touchmove' , movefun, { passive: false } );
100
+
101
+ }
102
+
103
+ }
104
+
105
+ });
106
+
107
+ ------
30
108
 
31
109
 
32
110