1

固定ナビゲーション バーがあります。ページを特定の位置までスクロールした後にのみ、初期メニューが表示されないようにしたい。私は作業を行いましたが、上にスクロールすると、イニシャルが表示されていないメニューが表示されます。css のクラスを display none として定義しています。これで私を助けることができますか?事前にt​​hnx。

$(function(){

    var menu = $('#menu'),
        pos = menu.offset();

        $(window).scroll(function(){
            if($(this).scrollTop() > pos.top+menu.height() && menu.hasClass('default')){
                menu.fadeOut('fast', function(){
                    $(this).removeClass('default').addClass('fixed').fadeIn('fast');
                });
            } else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
                menu.fadeOut('fast', function(){
                    $(this).removeClass('fixed').addClass('default').fadeIn('fast');
                });
            }
        });

});

http://jsfiddle.net/VjfHg/

編集:ねえ、すべての回答に感謝します。すべてが機能しています。太字で申し訳ありませんが、500px スクロールして同じ位置でフェードアウトした後、特定の位置に表示するのを手伝ってもらえますか?:)

4

3 に答える 3

1
else if($(this).scrollTop() <= pos.top && menu.hasClass('fixed')){
            menu.fadeOut('fast', function(){
                $(this).removeClass('fixed').addClass('default').fadeOut('fast');
            });
        }

フェードインの代わりにフェードアウトを使用

于 2013-09-05T07:09:32.600 に答える