0

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

4

1 に答える 1

1

ここ:

$(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")returnを削除しました)"50px"
  • position: fixedJavaScript で更新された " " の代わりに " " をposition: absolute使用する必要があります。
于 2012-01-10T12:23:26.160 に答える