私はスクロール可能なラッパーの中に3つのdivを持っています。 "wrapper"からスクロールしたときに各divをフェードアウトさせたいのですが、にはが1つずつあります。divを1つずつフェードアウトする方法
今私はスクロールすると同時に3つのdivがすべてフェードアウトします。私はこれを理解しようとかなりの時間を費やしましたが、まだ解決策を見つけていません。
$(document).ready(function() {
$(window).scroll(function() {
$(".title").css("opacity", 1 - $(window).scrollTop()/300);
})
});
body {
margin: 0;
height: 100%;
}
.wrapper {
height: 1000px;
position: relative;
}
.title {
margin: 0 auto;
width: 100%;
background-color: #aaa;
height: 300px;
opacity: 1;
text-align: center;
font-family: 'helvetica';
font-size: 80px;
font-weight: 100;
color: #fff;
top: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<div class="title">Image 1</div>
<br>
<div class="title">Image 2</div>
<br>
<div class="title">Image 3</div>
</div>
は完璧に動作します!ありがとう@ジョナス。あなたが気にしないなら、この部分を説明してもらえますか? なぜ不透明度を '$(()で引く必要があるのでしょうか?これ)。ポジション()。トップ 'も? – nfiona
不透明度を減算するのではなく、スクロールバーの位置とページ内の要素の位置を考慮して不透明度を設定します。あなたが各要素の位置を考慮しないと、それらを区別する方法がなく、いつも同じように消える(あなたの例のように)。 –
Ahh gotcha。ありがとうございました! @ジョナス – nfiona