0

スクロールすると、ヘッダーの半分が消え、メニューが上部にくっつきます。ナビゲーションはハッシュを使用し、マイ メニューのリンクをクリックすると、リンク先の # にページがスクロールします。スティッキー ヘッダーの高さを計算する jscript を追加して、この高さを #link に追加し、ターゲットがメニューのすぐ下に表示されるようにしました。Chrome & safari では問題なく動作するのですが、Firefox では問題があり、高さが追加されず、メニューの下に私のタイトルが表示されます。また、「トップに戻る」をクリックすると、位置が正しくなく、オフセットがあります... Firefox のみ。

あなたが私の言いたいことを理解しているかどうかわかりません。

http://jsfiddle.net/rHmAA/3/

ここに私のjsがあります:

$(document).ready(function () {
    $('a[href^="#"]').bind('click.smoothscroll', function (e) {
        e.preventDefault();

        var target = this.hash,
            $target = $(target);

        var offset;
        if($('#stickyheader').css('position') == 'relative'){
            offset = $('#stickyheader').outerHeight(true)*2;
        }else{
            offset = $('#stickyheader').outerHeight(true);
        }
        $('html, body').stop().animate({
            'scrollTop': $target.offset().top - offset
            //--OFFSET--//
        }, 1500, 'swing', function () {
            window.location.hash = target;
        });
    });
});

$(function () {
    // Check the initial Poistion of the Sticky Header
    var stickyHeaderTop = $('#stickyheader').offset().top;

    $(window).scroll(function () {
        if ($(window).scrollTop() === stickyHeaderTop+1) {
            $('#stickyheader').hide();
            console.log('p');
        }
        if ($(window).scrollTop() > stickyHeaderTop) {
            $('#stickyheader').fadeIn(500).css('position','fixed');
            $('#stickyalias').css('display', 'block');
            var mT = $('#stickyheader').css('height');
            $('#stickyheader').next('.post').css('marginTop', mT);
        }else{
            $('#stickyheader').css({
                position: 'relative',
            });
            $('#stickyheader').next('.post').css('marginTop', '0');
        }
    });
});

誰でもこれで私を助けることができますか? 何が間違っているのかわかりませんが、

助けてくれてどうもありがとう

4

1 に答える 1

0

これをスクロールアニメーションに使用してみてください

 $('html, body').animate({
      'scrollTop': $target.offset().top - offset
       //--OFFSET--//
 }, 1500);
于 2014-03-31T13:36:08.040 に答える