質問

Webページスクロールに続いて、ティピカルメニューを用意しようとしています。

Margintopに関連する位置をページスクロールに変更したかった、

$(document).ready(function(){

    $(window).scroll(function(){
        var v= $(document).scrollTop();
        console.log(v);
        if(v>50){
            $('.menu').css({'marinTop':v+'px'});
            console.log(true);
        }else{
            $('.menu').css('marginTop','50px');                        
            console.log(false);
        }
    });
});

しかし、それはただバーを動かしません...:s

役に立ちましたか?

解決

ここ:

$(document).ready(function(){
    $(window).scroll(function(){
        var value = $(window).scrollTop();
        if(value>+$('.menu').css('marginTop').replace(/px$/, "")) {
            $('.menu').css({'position':'fixed','top': 0});
        }else{
            $('.menu').css('position','static');                        
        }
    });
});

2つのことを修正しました:

  • 削除しました ".px" (css("marginTop") 戻り値 "50px", 、数と比較することはできません)
  • 本当に使用する必要があります」position: fixed「JavaScriptがアップデートする代わりに」position: absolute"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top