回答編集履歴
1
scroll位置前後への過敏対策
answer
CHANGED
@@ -16,4 +16,29 @@
|
|
16
16
|
}
|
17
17
|
s_old = s;
|
18
18
|
});
|
19
|
-
```
|
19
|
+
```
|
20
|
+
|
21
|
+
##追記
|
22
|
+
iPhoneでは`scrollTop`が前後することがあるのがわかりましたので、スライド中は**スライドなう**でフラグ管理して、過敏な反応をしないようにしておけば、うまく行くかと思います。
|
23
|
+
|
24
|
+
```javascript
|
25
|
+
var slide_now = false;
|
26
|
+
var s_old = $(window).scrollTop();// ここに「前回のスクロール位置」を常に保存します
|
27
|
+
$(window).on("load scroll", function () {
|
28
|
+
if (slide_now) return true;
|
29
|
+
var t = 35;
|
30
|
+
var s = $(this).scrollTop();// 今回のスクロール位置
|
31
|
+
if ((s_old < t)&&(t <= s)){
|
32
|
+
slide_now = true;
|
33
|
+
$(".cb-header").slideDown("slow",function(){
|
34
|
+
slide_now = false;
|
35
|
+
});
|
36
|
+
} else if ((s < t)&&(t <= s_old)){
|
37
|
+
slide_now = true;
|
38
|
+
$(".cb-header").slideUp("slow",function(){
|
39
|
+
slide_now = false;
|
40
|
+
});
|
41
|
+
}
|
42
|
+
s_old = s;
|
43
|
+
});
|
44
|
+
```
|