1

どこでも問題なく動作していますが、ブラウザは正しい高さを返しますが、間違った位置にスクロールします (毎回異なる)。これは IE W8 電話でのみ発生します。コードは次のとおりです。

$("#navigation-wrapper a").click(function(e){
    $headerHeight = $("#header").height();
    var $anchor = $(this);
    $('html, body').stop().animate({scrollTop: $($anchor.attr('href')).offset().top - $headerHeight});
e.preventDefault(); });

何か案が?

4

1 に答える 1

0

これは面倒ですが、何らかの理由で機能しました。正しい場所にスクロールするには、animate を 2 回呼び出す必要がありました。

$('html, body').stop()
  .animate({scrollTop: $($anchor.attr('href')).offset().top - $headerSize},function(){
      $('html, body').stop()
        .animate({scrollTop: $($anchor.attr('href')).offset().top - $headerSize});
    });
于 2013-10-05T05:25:04.623 に答える