回答編集履歴

2

スクロールイベント時にも条件を追加、固定解除処理を外部に移動

2017/05/11 04:24

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -82,6 +82,12 @@
82
82
 
83
83
  wd.scroll(function() {
84
84
 
85
+
86
+
87
+ if ($pageSize.width >= $gX) {
88
+
89
+
90
+
85
91
  if(wd.height() < sideArea.height()){
86
92
 
87
93
  if(starPoint < wd.scrollTop() && wd.scrollTop() + wd.height() < breakPoint){
@@ -132,6 +138,10 @@
132
138
 
133
139
 
134
140
 
141
+ }
142
+
143
+
144
+
135
145
  });
136
146
 
137
147
  }
@@ -140,7 +150,7 @@
140
150
 
141
151
  // ウィンドウサイズが小さかった時に固定解除
142
152
 
143
- sideArea.css("position", "static");
153
+ $resetFunc();
144
154
 
145
155
  }
146
156
 
@@ -148,6 +158,14 @@
148
158
 
149
159
 
150
160
 
161
+ var $resetFunc = function(){
162
+
163
+ sideArea.css("position", "static");
164
+
165
+ sideWrap.css('height', 'auto');
166
+
167
+ }
168
+
151
169
 
152
170
 
153
171
  //ウィンドウサイズ変更を受け取る

1

ウィンドウサイズが小さかった時の処理追加

2017/05/11 04:24

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -1,6 +1,8 @@
1
1
  経験上、タイマー変数、リサイズイベント、処理メソッドは別にした方が、
2
2
 
3
3
  コントロールもしやすいし、デバッグしやすいです。
4
+
5
+ 本題の原因としてはおそらく、ウィンドウサイズが小さかった時に固定を解除するという処理がないからではないかと思います。
4
6
 
5
7
  下記でいかがでしょう?
6
8
 
@@ -54,15 +56,15 @@
54
56
 
55
57
  // 上の変数を使ったリサイズ時の処理
56
58
 
57
- if ($pageSize.width >= $gX) {
58
59
 
59
60
 
61
+ var mainH = mainArea.height();
60
62
 
61
- var mainH = mainArea.height();
63
+ var sideH = sideWrap.height();
62
64
 
63
- var sideH = sideWrap.height();
65
+
64
66
 
65
-
67
+ if ($pageSize.width >= $gX) {
66
68
 
67
69
 
68
70
 
@@ -134,6 +136,12 @@
134
136
 
135
137
  }
136
138
 
139
+ } else {
140
+
141
+ // ウィンドウサイズが小さかった時に固定解除
142
+
143
+ sideArea.css("position", "static");
144
+
137
145
  }
138
146
 
139
147
  };