jQuery 「CSS操作」横方向のスクロール位置を取得する・設定する

.scrollLeft()メソッドは、引数なしで要素の横方向の現在のスクロール位置を取得し、引数を与えれば指定した位置までスクロールします。

書式

$( 対象要素 ).scrollLeft();
$( 対象要素 ).scrollLeft({位置});
var scrollLeft = $("p").scrollLeft();
$('p').scrollLeft(300);

サンプル

スクロール位置を取得する。contentsにスクロールする領域をheight、widthで設定します。また、このときのスクロール領域はcontents内で設定したheight、widthから親要素boxのheight、widthを引いた高さ及び幅になります。サンプルの場合だとscrollTopの最大値は900px(1000-100)、scrollLeftの最大値は700px(1000-300)になります。

<html>
      <head>
        <meta charset="UTF-8">
        <title>テストページ</title>
        <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
        <style>
          #box{
           overflow:scroll;
           height: 100px;
           width: 300px;
           border: 1px solid black;
          }
          #contents{
            height: 1000px;
            width: 1000px;
          }
        </style>
  </head>
  <body>
    <p>scrollTopの値:<span id="top">0px</span></p>
    <p>scrollLeftの値:<span id="left">0px</span></p>
    <div id="box">
      <div id="contents">contents</div>
    </div>
    <script>
      $(document).ready(function(){
       $('#box').scroll(function(){
        $('#top').text($(this).scrollTop()+'px');
       });
       $('#box').scroll(function(){
        $('#left').text($(this).scrollLeft()+'px');
       });
      });
    </script>
    </body>  
</html>
実行結果
縦横のスクロールした場合