2017-04-04 5 views
1

リンク間のスクロールをスムーズにするために次のコードを使用しています。モバイルでスクロールオフセットが異なる

私は現在93pxのオフセットを持っていますが、小さなデバイスでは削除しないと、これを小さくしたいと考えています。小さな解像度のオフセット値を変更することが可能かどうか疑問に思っています。誰も助けることができますか?

var jump=function(e) 
    { 
     if (e){ 
      e.preventDefault(); 
      var target = $(this).attr("href"); 
     }else{ 
      var target = location.hash; 
     } 

     $('html,body').animate(
     { 
      scrollTop: $(target).offset().top-93 
     },2000,function() 
     { 
      location.hash = target; 
     }); 

    } 

    $('html, body').hide(); 

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

     if (location.hash){ 
      setTimeout(function(){ 
       $('html, body').scrollTop(0).show(); 
       jump(); 
      }, 0); 
     }else{ 
      $('html, body').show(); 
     } 
    }); 

答えて

2

JQuery $(window).height()メソッドを使用すると、現在のウィンドウの高さを取得し、小さなデバイスを検出できます。この値に基づいて、オフセットを別々に表示することができます。

詳細情報:https://api.jquery.com/height/

関連する問題