0

質問がありますが、実際に質問する方法がわかりません。

ポイントをスムーズに通過すると、ナビゲーションバーが上にくっつくようにしています。

私の参照はこれです-> http://blog.yjl.im/2010/01/stick-div-at-top-after-scrolling.html

私の問題は、IEまたはChromeを使用してチェックすると、「点滅」効果があることです。

ポイントをスクロールした後、スクロール機能がプロセスを終了するようです。したがって、Nav の後のもの (HTML) は、0.1 ~ 0.3 秒で Nav の上部に移動し、スクロール機能はプロセスを終了します。スルーでも短いですがナビの上にHTMLを重ねると可視化できます。

しかし、Firefoxで確認してみると、そのようなまばたき効果はありません……。

ここで私が得た問題は何ですか?? 何をチェックすればいいですか??

私の設定は Nav の直前の Anchor で、Nav z-index = 99 で、スクロール機能の内側は以下です。

            $(this).scrollTop() > $(anchor).offset().top
            ? nav.addClass('sticky')
            : nav.removeClass('sticky')
4

1 に答える 1

0
jQuery(document).ready(function($) {

    var my_nav = $('.navbar-sticky'); 
    // grab the initial top offset of the navigation 
    var sticky_navigation_offset_top = my_nav.offset().top;

    // our function that decides weather the navigation bar should have "fixed" css position or not.
    var sticky_navigation = function(){
        var scroll_top = $(window).scrollTop(); // our current vertical position from the top

        // if we've scrolled more than the navigation, change its position to fixed to stick to top, otherwise change it back to relative
        if (scroll_top > sticky_navigation_offset_top) { 
            my_nav.addClass( 'stick' );
        } else {
            my_nav.removeClass( 'stick' );
        }   
    };

    var initio_parallax_animation = function() { 
        $('.parallax').each( function(i, obj) {
            var speed = $(this).attr('parallax-speed');
            if( speed ) {
                var background_pos = '-' + (window.pageYOffset / speed) + "px";
                $(this).css( 'background-position', 'center ' + background_pos );
            }
        });
    }

    // run our function on load
    sticky_navigation();

    // and run it again every time you scroll
    $(window).scroll(function() {
         sticky_navigation();
         initio_parallax_animation();
    });

});
于 2015-09-01T15:38:43.880 に答える