2017-10-03 4 views
0

このコードは、上から必要な字下げをして、ユーザーの画面をアンカーにスムーズに下げて、上に固定されているメニューが見えないようにします。なぜこのコードはGoogle Chromeでは正常に動作しますが、Safari(およびMacとiPhone)では拒否されますか?

<script> 
     $(document).ready(function(){ 
      $('a[href^="#"]').bind('click.smoothscroll',function (e) { 
       e.preventDefault(); 
       var target = this.hash, 
       $target = $(target); 
       $calculus = ($target.offset().top - 75); 
      $target_to = $calculus.toFixed(); 
       $('html, body').stop().animate({ 
        'scrollTop': ($target_to+'px') 
       }, 900, 'swing'); 
      }); 
     }); 
</script> 
+0

一部のブラウザでは、 '' またはそのような '' 要素をいじりが好きではありません。 – Pointy

答えて

0

私は、すべてのプラットフォームで動作する最善の解決策を見つけた:

$(document).ready(function(){ 
    $('a[href^="#"], *[data-href^="#"]').on('click', function(e){ 
     e.preventDefault(); 
     var t = 1000; 
     var d = $(this).attr('data-href') ? $(this).attr('data-href') : $(this).attr('href'); 
     $('html,body').stop().animate({ scrollTop: $(d).offset().top - 80 }, t); 
    }); 
}); 
関連する問題