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 > 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>
|