<div class="header_container_for_full_cover">
</div>
$(window).scroll(function() {
if ( $(this).scrollTop() > 400){
$('.header_container_for_full_cover').fadeIn().css('background-color', 'rgba(0,0,0,.7)');
} else {
$('.header_container_for_full_cover').fadeOut().css('background-color', 'transparent');
}
});
好怪
我想在 header_container_for_full_cover 加入背景顏色
當小於四百後則把顏色變為透明
但是我這樣寫,當小於四百後我的div就整個消失
然後檢查才知道是fadeOut()的問題
但我想讓他有fade的效果,那我要怎麼寫才不會消失?(當高度小於四百後。。。)
更新
.background-off {
animation: backgroundOff;
-webkit-animation: backgroundOff;
-webkit-animation-duration: 1s;
animation-duration: 1s;
}
@keyframes backgroundOff {
from {
background: rgba(0,0,0,0.8);
}
to {
background: transparent;
}
}
$(window).scroll(function(){
if($(this).scrollTop() > 350){
$('.header_container_for_full_cover').addClass('background-off');
}else{
$('.header_container_for_full_cover').removeClass('background-off');
}
});
我的語法是這樣
但是他不會像我要的那樣運行
执行顺序应该调整下 先改变背景色再执行淡出动画
你现在这个是先执行淡出再执行修改背景色
修改为:
$('.header_container_for_full_cover').css('background-color', 'transparent').fadeOut();
保留Div 修改为
css 添加
.background-off {
}
@keyframes backgroundOff {
}
js添加
css再添加淡入背景动画
js写法为