带有.css()和.fadeIn的FadeIn标头

时间:2013-10-01 07:55:11

标签: jquery css fadein

我希望在滚动页面时淡入标题。 这就是我到目前为止所做的一切,除了.fadeIn()之外,一切正常。

$(document).scroll(function() {
    if( $(this).scrollTop() > 120 ) {
        if( !fixed ) {
            fixed = true;
            $('.mini-logo').css({display:'block'});
            $(' header ').css({background:'#323232'});
        }
    } else {
        if( fixed ) {
            fixed = false;
            $('.mini-logo').css({display:'none'});
            $(' header ').css({background:'rgba(0,0,0,0)'});
        }
    }
});

2 个答案:

答案 0 :(得分:2)

你可以做一些简单的事情,比如JSFiddle:http://jsfiddle.net/eYcL4/

var fixed = false;
$(document).scroll(function() {
    if( $(this).scrollTop() > 120 ) {
        if( !fixed ) {
            fixed = true;
            $('.mini-logo').css({display:'block'});
            $('header').css({background:'#323232'});
            $('header').fadeOut();
        }
    } else {
        if( fixed ) {
            fixed = false;
            $('.mini-logo').css({display:'none'});
            $('header').css({background:'rgba(0,0,0,0)'});
            $('header').fadeIn();
        }
    }
});

但直接的问题是淡出标题会改变内容的高度(标题在隐藏时折叠为0高度。)

请解释您的效果。

答案 1 :(得分:1)

而不是$('.mini-logo').css({display:'none'});使用$('.mini-logo').fadeOut(); 而不是$('.mini-logo').css({display:'block'});使用$('.mini-logo').fadeIn();