回答編集履歴
5
追記
answer
CHANGED
@@ -169,4 +169,58 @@
|
|
169
169
|
|
170
170
|
> footerのページ上からの座標 - ウィンドウサイズ
|
171
171
|
|
172
|
-
の部分ですがウィンドウサイズを引かないとウインドウの上まで要素が行かないとフェードインしなくなってしまいます。
|
172
|
+
の部分ですがウィンドウサイズを引かないとウインドウの上まで要素が行かないとフェードインしなくなってしまいます。
|
173
|
+
|
174
|
+
|
175
|
+
---
|
176
|
+
|
177
|
+
暇な時間があったので作ってみました。
|
178
|
+
```HTML
|
179
|
+
<div id=box1>
|
180
|
+
hogehoge~
|
181
|
+
</div>
|
182
|
+
<div id=box2>
|
183
|
+
hogehoge~
|
184
|
+
</div>
|
185
|
+
<div id=box3>
|
186
|
+
hohohoho~
|
187
|
+
</div>
|
188
|
+
<div id=box4>
|
189
|
+
hogehoge
|
190
|
+
</div>
|
191
|
+
```
|
192
|
+
```CSS
|
193
|
+
* {
|
194
|
+
margin: 0;
|
195
|
+
padding: 0
|
196
|
+
}
|
197
|
+
div {
|
198
|
+
height: 400px;
|
199
|
+
opacity: 0
|
200
|
+
}
|
201
|
+
#box1{
|
202
|
+
background: blue
|
203
|
+
}
|
204
|
+
#box2{
|
205
|
+
background: yellow
|
206
|
+
}
|
207
|
+
#box3{
|
208
|
+
background: green
|
209
|
+
}
|
210
|
+
#box4{
|
211
|
+
background: brown
|
212
|
+
}
|
213
|
+
```
|
214
|
+
```jQuery
|
215
|
+
$(window).on('load scroll',function(){
|
216
|
+
var height = $(window).height();
|
217
|
+
var now = $(document).scrollTop();
|
218
|
+
for(i=1;i<=4;i++){
|
219
|
+
var element = $('#box'+i);
|
220
|
+
var footer = element.offset().top - height;
|
221
|
+
if(now>footer){
|
222
|
+
element.animate({opacity:1.0},{duration:500,easing:'swing'});
|
223
|
+
}
|
224
|
+
}
|
225
|
+
});
|
226
|
+
```
|
4
追記
answer
CHANGED
@@ -9,6 +9,150 @@
|
|
9
9
|
表示領域外になったらフェードアウトすることができます。
|
10
10
|
(#topBtnはあらかじめ`display:none`してあるとする)
|
11
11
|
|
12
|
+
```HTMl
|
13
|
+
|
14
|
+
<header>
|
15
|
+
</header>
|
16
|
+
|
17
|
+
<div class="contents">
|
18
|
+
|
19
|
+
<p>ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
20
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
21
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
22
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
23
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
24
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
25
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
26
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
27
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
28
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
29
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
30
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
31
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
32
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
33
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
34
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
35
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
36
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
37
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
38
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
39
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
40
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
41
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
|
42
|
+
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</p>
|
43
|
+
|
44
|
+
<a href="#" class="topBtn" id="topBtn"><img src="img/pagetop.png" alt="ページトップ"></a>
|
45
|
+
|
46
|
+
<footer>
|
47
|
+
<div class="footer">
|
48
|
+
<ul class="clearfix">
|
49
|
+
<li>
|
50
|
+
<a href="#">sample</a>
|
51
|
+
</li>
|
52
|
+
<li>
|
53
|
+
<a href="#">sample</a>
|
54
|
+
</li>
|
55
|
+
<li>
|
56
|
+
<a href="#">sample</a>
|
57
|
+
</li>
|
58
|
+
<li>
|
59
|
+
<a href="#">sample</a>
|
60
|
+
</li>
|
61
|
+
<li>
|
62
|
+
<a href="#">sample</a>
|
63
|
+
</li>
|
64
|
+
<li>
|
65
|
+
<a href="#">sample</a>
|
66
|
+
</li>
|
67
|
+
<li>
|
68
|
+
<a href="#">sample</a>
|
69
|
+
</li>
|
70
|
+
<li>
|
71
|
+
<a href="#">sample</a>
|
72
|
+
</li>
|
73
|
+
<li>
|
74
|
+
<a href="#">sample</a>
|
75
|
+
</li>
|
76
|
+
<li>
|
77
|
+
<a href="#">sample</a>
|
78
|
+
</li>
|
79
|
+
<li>
|
80
|
+
<a href="#">sample</a>
|
81
|
+
</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
</div>
|
85
|
+
<!-- footer -->
|
86
|
+
</footer>
|
87
|
+
|
88
|
+
</div>
|
89
|
+
|
90
|
+
```
|
91
|
+
```CSs
|
92
|
+
|
93
|
+
body {
|
94
|
+
font-family: "Verdana", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo"," sans-serif";
|
95
|
+
color: #000;
|
96
|
+
background:#fff;
|
97
|
+
font-size:0.9em;
|
98
|
+
}
|
99
|
+
|
100
|
+
.contents{
|
101
|
+
max-width:950px;
|
102
|
+
background:#fff;
|
103
|
+
margin:0 auto;
|
104
|
+
line-height:140%;
|
105
|
+
position:relative;
|
106
|
+
}
|
107
|
+
|
108
|
+
/*フッター*/
|
109
|
+
|
110
|
+
.footer{
|
111
|
+
position: relative;
|
112
|
+
background:#960;
|
113
|
+
padding: 10px 0 20px 0;
|
114
|
+
overflow: hidden;
|
115
|
+
border-radius:10px;
|
116
|
+
-webkit-border-radius:10px;
|
117
|
+
-moz-border-radius:10px;
|
118
|
+
margin-top:25px;
|
119
|
+
height:30px;
|
120
|
+
}
|
121
|
+
|
122
|
+
.footer ul{
|
123
|
+
width: 90%;
|
124
|
+
margin:0 auto;
|
125
|
+
}
|
126
|
+
|
127
|
+
.footer li {
|
128
|
+
float: left;
|
129
|
+
width: 140px;
|
130
|
+
font-size: 11px;
|
131
|
+
text-align: left;
|
132
|
+
}
|
133
|
+
|
134
|
+
.footer li a{
|
135
|
+
color:#fff;
|
136
|
+
text-decoration:none;
|
137
|
+
}
|
138
|
+
|
139
|
+
.footer li a:before{
|
140
|
+
content:"□ ";
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
.topBtn {
|
145
|
+
position:fixed;
|
146
|
+
right:0px;
|
147
|
+
display:block;
|
148
|
+
}
|
149
|
+
|
150
|
+
#topBtn {
|
151
|
+
position: fixed;
|
152
|
+
bottom: 0;
|
153
|
+
display: none
|
154
|
+
}
|
155
|
+
```
|
12
156
|
```jQuery
|
13
157
|
$(window).scroll(function(){ //スクロールされたら関数実行
|
14
158
|
var footer = $('footer').offset().top - $(window).height(); //footerのページ上からの座標 - ウィンドウサイズ
|
3
tuiik
answer
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
}
|
21
21
|
});
|
22
22
|
```
|
23
|
-
[サンプル](https://cdpn.io/asuchi0819/debug/bGGabBL/
|
23
|
+
[サンプル](https://cdpn.io/asuchi0819/debug/bGGabBL/wQMPozNqJBqk)
|
24
24
|
簡単に解説入れときました。
|
25
25
|
|
26
26
|
> footerのページ上からの座標 - ウィンドウサイズ
|
2
追記
answer
CHANGED
@@ -7,16 +7,22 @@
|
|
7
7
|
別の質問の使い回しですが以下のようなjQueryを書くことで
|
8
8
|
footerが表示領域に入ったら#topBtnをフェードイン
|
9
9
|
表示領域外になったらフェードアウトすることができます。
|
10
|
+
(#topBtnはあらかじめ`display:none`してあるとする)
|
10
11
|
|
11
12
|
```jQuery
|
12
|
-
$(window).scroll(function(){
|
13
|
+
$(window).scroll(function(){ //スクロールされたら関数実行
|
13
|
-
var footer = $('footer').offset().top - $(window).height();
|
14
|
+
var footer = $('footer').offset().top - $(window).height(); //footerのページ上からの座標 - ウィンドウサイズ
|
14
|
-
var now = $(document).scrollTop();
|
15
|
+
var now = $(document).scrollTop(); // ページ上からの現在位置
|
15
16
|
if(now>footer){
|
16
|
-
$('#topBtn').fadeIn('slow');
|
17
|
+
$('#topBtn').fadeIn('slow'); //フェードイン
|
17
18
|
} else {
|
18
|
-
$('#topBtn').fadeOut('slow');
|
19
|
+
$('#topBtn').fadeOut('slow'); //フェードアウト
|
19
20
|
}
|
20
21
|
});
|
21
22
|
```
|
22
|
-
[サンプル](https://cdpn.io/asuchi0819/debug/bGGabBL/WPALYZNENdok)
|
23
|
+
[サンプル](https://cdpn.io/asuchi0819/debug/bGGabBL/WPALYZNENdok)
|
24
|
+
簡単に解説入れときました。
|
25
|
+
|
26
|
+
> footerのページ上からの座標 - ウィンドウサイズ
|
27
|
+
|
28
|
+
の部分ですがウィンドウサイズを引かないとウインドウの上まで要素が行かないとフェードインしなくなってしまいます。
|
1
追記
answer
CHANGED
@@ -1,3 +1,22 @@
|
|
1
1
|
> スクロールに連動して要素がふわっとあらわれるのを実現するスクリプトやプラグインがあれば教えて下さい
|
2
2
|
|
3
|
-
検索すればいくらでも見つかると思いますがほとんどはwindow.scrollで発火してoffsetで要素の位置を取得してscrollTopで表示領域の上の位置を取得して画面領域を引いてifでfadeInやらfadeOutやらを制御してます。
|
3
|
+
検索すればいくらでも見つかると思いますがほとんどはwindow.scrollで発火してoffsetで要素の位置を取得してscrollTopで表示領域の上の位置を取得して画面領域を引いてifでfadeInやらfadeOutやらを制御してます。
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
別の質問の使い回しですが以下のようなjQueryを書くことで
|
8
|
+
footerが表示領域に入ったら#topBtnをフェードイン
|
9
|
+
表示領域外になったらフェードアウトすることができます。
|
10
|
+
|
11
|
+
```jQuery
|
12
|
+
$(window).scroll(function(){
|
13
|
+
var footer = $('footer').offset().top - $(window).height();
|
14
|
+
var now = $(document).scrollTop();
|
15
|
+
if(now>footer){
|
16
|
+
$('#topBtn').fadeIn('slow');
|
17
|
+
} else {
|
18
|
+
$('#topBtn').fadeOut('slow');
|
19
|
+
}
|
20
|
+
});
|
21
|
+
```
|
22
|
+
[サンプル](https://cdpn.io/asuchi0819/debug/bGGabBL/WPALYZNENdok)
|