0

嗨,大家好

我想在滚动标题效果上制作一个 jquery。我刚刚在代码中添加了一些更改,但它并没有按照我想要的方式工作。我想制作效果 - 当我向下滚动一点像素以将标题更改为小高度时。或者用其他样式显示隐藏的标题

因此,当滚动正常标题以向上滑动,然后像向下滑动一样显示隐藏的标题......我已经花了很多时间,但它只适用于淡入淡出和淡入淡出

 jQuery code

 $(function() {
    $('.header-small').hide();
    var header = $(".header-small");
    $(window).scroll(function() {    
        var scroll = $(window).scrollTop();

        if (scroll >= 200) {
            $('.header-small').show();


            header.removeClass('header').addClass("header-small");
            $('.header-small').addClass('animated fadeInUp'), {duration:500};


        } else {
            $('header').show();
            $('.header-small').hide();
            header.removeClass("header-small").addClass('header');
            $('header').addClass('animated fadeInDown');
        }
    });
});

工作演示 在这里

请问有人可以帮我吗?

谢谢

4

3 回答 3

0

您可以尝试使用回调,

$(function() {
        $('.header-small').hide();
        var bar = $('header');
        var top = bar.css('top');
        $(window).scroll(function() {
            if($(this).scrollTop() > 50) {
                bar.stop().animate({'top' : '0px'}, 200);
                $('.header-small').slideDown('slow',function(){

                    $('header').slideUp('slow');});
            } else {
                bar.stop().animate({'top' : '20px'}, 200);
                    $('header').slideDown('slow');
                    $('.header-small').slideUp('slow');
            }
        });
    });

还有一些更清洁效果的样式

header
{
    position:absolute;
    width:400px;
    height:200px;
}

Jsfiddle 更新示例

于 2013-08-14T11:42:27.017 回答
-1

jsFiddle 演示

$(function () {
    $('.header-small').hide();
    var bar = $('header');
    var top = bar.css('top');
    $(window).scroll(function () {
        if ($(this).scrollTop() > 50) {
            bar.stop().animate({
                'top': '0px'
            }, 200);
            $('header').slideUp('fast', function () {
                $('.header-small').slideDown('slow');
            });
        } else {
            bar.stop().animate({
                'top': '20px'
            }, 200);
            $('.header-small').slideUp('fast', function () {
                $('header').slideDown('fast');
            });
        }
    });
});
于 2013-08-14T11:34:20.977 回答
-1

为什么不直接 addClass 并在 CSS 中完成其余的工作?

$(window).scroll(function() {
  if($(window).scrollTop() > 50) {
    $('header').addClass('header-small');
  }
  else {
    $('header').removeClass('header-small');
  }
});
于 2013-08-14T11:27:13.650 回答