0
我試圖讓覆蓋div的不透明度在您接近頁面中間的目標元素時消失爲黑色,然後在該元素退出視口後淡入到透明狀態。將不透明度移動到目標元素和從目標元素中移動
(碎)例:https://jsfiddle.net/dtcgbxcn/3/
當你接近 '藍色' 部分,它應該得到更暗。在藍色部分進入視口之前,該頁面應爲純黑色。然後,藍色部分退出視口後,它開始逐漸淡出不透明度。到達頁面底部(或其他目標元素)時,疊加層應該再次完全透明。
請注意,由於響應性,這些部分的高度是不確定的。
$(window).on('scroll', function() {
var st = $(this).scrollTop(),
offset = $('.blue').offset().top - $('.blue').height(),
opacity = st/offset;
_docHeight = $('.red').height() + $('.blue').height() + $('.yellow').height();
$('.overlay').height(_docHeight);
if (opacity > 2) {
opacity = 3 - opacity;
}
$('.overlay').css('opacity', opacity);
});
已經很接近了!我希望不透明度在藍色部分離開視口後再次開始消失。我會和你一起玩,看看我能否管理這個結果。謝謝! – daveycroqet