aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/window/scrollx/index.html
blob: eb01796e860982c144abb35bbc7efa76c90431e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---
title: window.scrollX
slug: Web/API/Window/scrollX
tags:
  - API
  - CSSOM View
  - Property
  - Reference
translation_of: Web/API/Window/scrollX
---
<div>{{APIRef("CSSOM View")}}</div>

<p>{{domxref("Window")}} インターフェイスの読み取り専用プロパティである <code><strong>scrollX</strong></code> は、文書が水平スクロールされているピクセル数を返します。現代のブラウザーではこの値がサブピクセル精度ですので、必ずしも整数であるとは限りません。文書が垂直スクロールされているピクセル数は、{{domxref("Window.scrollY", "scrollY")}} プロパティで取得できます。</p>

<h2 id="Syntax" name="Syntax">構文</h2>

<pre class="syntaxbox">var x = window.scrollX;</pre>

<h3 id="Value" name="Value"></h3>

<p>実際に返される値は、文書が原点から水平方向にスクロールされた量をピクセル数で表す倍精度浮動小数点数です。正の値は、内容物が左にスクロールされていることを表します。文書がサブピクセル精度のデバイスに表示されている場合は、戻り値も小数部を含むサブピクセル精度の値になります。文書が左にも右にもスクロールされていない場合の <code>scrollX</code> は 0 です。</p>

<div class="note">
<p>整数値が必要である場合は、{{jsxref("Math.round()")}} を使用して切り捨てできます。</p>
</div>

<p>専門用語で説明すると <code>scrollX</code> は、現在の {{Glossary("viewport", "ビューポート")}} の左端の X 座標を返します。ビューポートがない場合の戻り値は 0 です。</p>

<h2 id="Example" name="Example"></h2>

<p>これは、文書の現在の水平スクロール位置を確認する例です。400 ピクセルより大きい場合は、文書の左上にスクロール位置をリセットします。</p>

<pre class="brush:js">if (window.scrollX &gt; 400) {
  window.scroll(0,0);
}</pre>

<h2 id="Notes" name="Notes">注記</h2>

<p><code>pageXOffset</code> プロパティは、<code>scrollX</code> プロパティのエイリアスです。:</p>

<pre class="brush:js">window.pageXOffset == window.scrollX; // 常に true</pre>

<p>クロスブラウザー互換性のため、<code>window.scrollX</code> ではなく <code>window.pageXOffset</code> を使用します。<em>さらに</em>、古いバージョンの Internet Explorer (IE9 以前) はいずれもサポートしていないため、チェックの上、なければ他の非標準の方法で回避する必要があります。以下に互換性を確保した例を示します。</p>

<pre class="brush:js">var x = (window.pageXOffset !== undefined)
  ? window.pageXOffset
  : (document.documentElement || document.body.parentNode || document.body).scrollLeft;

var y = (window.pageYOffset !== undefined)
  ? window.pageYOffset
  : (document.documentElement || document.body.parentNode || document.body).scrollTop;</pre>

<h2 id="Specification" name="Specification">仕様</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">仕様</th>
   <th scope="col">状況</th>
   <th scope="col">備考</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{ SpecName('CSSOM View', '#dom-window-scrollx', 'window.scrollX') }}</td>
   <td>{{ Spec2('CSSOM View') }}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2>

<p>{{Compat("api.Window.scrollX")}}</p>

<h2 id="See_also" name="See_also">関連情報</h2>

<ul>
 <li>{{domxref("window.scrollY")}}</li>
</ul>