回答編集履歴
1
調整
answer
CHANGED
@@ -1,3 +1,60 @@
|
|
1
1
|
htmlのソースと、具体的な挙動の説明があったほうがよいかも
|
2
2
|
|
3
|
-
スクロールが止まってから1テンポおいて挙動するという手もあるかも
|
3
|
+
スクロールが止まってから1テンポおいて挙動するという手もあるかも
|
4
|
+
|
5
|
+
# sample
|
6
|
+
animate処理なのでuiまで読み込みます
|
7
|
+
```javascript
|
8
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
|
9
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
|
10
|
+
<script>
|
11
|
+
$(function(){
|
12
|
+
var timerId;
|
13
|
+
var pos_y=0;
|
14
|
+
var pre_y=1;
|
15
|
+
var option={
|
16
|
+
"header":[
|
17
|
+
{"background-color":"#ff0000"},
|
18
|
+
{"background-color":"#0000ff"},
|
19
|
+
],
|
20
|
+
"text":[
|
21
|
+
{"color":"#ffffff"},
|
22
|
+
{"color":"#ff0000"},
|
23
|
+
],
|
24
|
+
"logo":[
|
25
|
+
{"fontSize":"26px","color":"#0c6bb0","margin-top":0},
|
26
|
+
{"fontSize":"33px","color":"#ffffff","margin-top":10},
|
27
|
+
],
|
28
|
+
};
|
29
|
+
|
30
|
+
$( window).on('scroll',()=>{
|
31
|
+
const y = window.scrollY;
|
32
|
+
pos_y=(y<120)?0:1;
|
33
|
+
clearTimeout(timerId);
|
34
|
+
if(pos_y!==pre_y){
|
35
|
+
timerId=setTimeout(()=>{
|
36
|
+
$('.header').animate(option["header"][pos_y]);
|
37
|
+
$('.text').animate(option["text"][pos_y]);
|
38
|
+
$('.logo').animate(option["logo"][pos_y]);
|
39
|
+
pre_y=pos_y;
|
40
|
+
},10);
|
41
|
+
}
|
42
|
+
}).trigger('scroll');
|
43
|
+
});
|
44
|
+
</script>
|
45
|
+
<div class="header" style="height:9999px">
|
46
|
+
<br><br><br><br><br>
|
47
|
+
<span class="text">text</span>
|
48
|
+
<br><br><br><br><br>
|
49
|
+
<span class="logo">logo</span>
|
50
|
+
<br><br><br><br><br>
|
51
|
+
<span class="text">text</span>
|
52
|
+
<br><br><br><br><br>
|
53
|
+
<span class="logo">logo</span>
|
54
|
+
<br><br><br><br><br>
|
55
|
+
<span class="text">text</span>
|
56
|
+
<br><br><br><br><br>
|
57
|
+
<span class="logo">logo</span>
|
58
|
+
<br><br><br><br><br>
|
59
|
+
</div>
|
60
|
+
```
|