diff options
Diffstat (limited to 'files/ja/web/api/globaleventhandlers/onwheel')
-rw-r--r-- | files/ja/web/api/globaleventhandlers/onwheel/index.html | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/files/ja/web/api/globaleventhandlers/onwheel/index.html b/files/ja/web/api/globaleventhandlers/onwheel/index.html new file mode 100644 index 0000000000..f9ec12d548 --- /dev/null +++ b/files/ja/web/api/globaleventhandlers/onwheel/index.html @@ -0,0 +1,119 @@ +--- +title: GlobalEventHandlers.onwheel +slug: Web/API/GlobalEventHandlers/onwheel +tags: + - API + - DOM + - Event Handler + - GlobalEventHandlers + - Property + - Reference + - onwheel + - プロパティ +translation_of: Web/API/GlobalEventHandlers/onwheel +--- +<div>{{ ApiRef("DOM") }}</div> + +<p><strong><code>onscroll</code></strong> は {{domxref("GlobalEventHandlers")}} ミックスインのプロパティで、 <code>wheel</code> イベントを処理する{{domxref("EventHandler", "イベントハンドラー")}}です。</p> + +<p><code>wheel</code> イベントは、ユーザーがマウス (または他のポインティングデバイス) のホイールを回転させたときに発生します。</p> + +<div class="blockIndicator note"> +<p><strong>メモ:</strong> <code>onwheel</code> を {{domxref("GlobalEventHandlers.onscroll", "onscroll")}} と混同しないようにしてください。 <code>onwheel</code> は一般的なホイールの回転を扱うのに対し、 <code>onscroll</code> はオブジェクトの内容のスクロールを扱います。</p> +</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>target</em>.onwheel = <em>functionRef</em>; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p><code><var>functionRef</var></code> は関数名または<a href="/ja/docs/Web/JavaScript/Reference/Operators/function">関数式</a>です。この関数は引数として一つだけ、 {{domxref("WheelEvent")}} オブジェクトを受け取ります。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>この例では、マウス (または他のポインティングデバイス) のホイールを使用して、要素を拡大縮小する方法を示します。</p> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html"><div>マウスホイールで拡大縮小します。</div></pre> + +<h3 id="CSS">CSS</h3> + +<pre class="brush: css">body { + min-height: 100vh; + margin: 0; + display: flex; + align-items: center; + justify-content: center; +} + +div { + width: 80px; + height: 80px; + background: #cdf; + padding: 5px; + transition: transform .3s; +}</pre> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js">function zoom(event) { + event.preventDefault(); + + if (event.deltaY < 0) { + // Zoom in + scale *= event.deltaY * -2; + } + else { + // Zoom out + scale /= event.deltaY * 2; + } + + // Restrict scale + scale = Math.min(Math.max(.125, scale), 4); + + // Apply scale transform + el.style.transform = `scale(${scale})`; +} + +let scale = 1; +const el = document.querySelector('div'); +document.onwheel = zoom;</pre> + +<h3 id="Result" name="Result">結果</h3> + +<p>{{EmbedLiveSample("Examples", 700, 400)}}</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="spectable standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('HTML WHATWG','webappapis.html#handler-onwheel','onwheel')}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.GlobalEventHandlers.onwheel")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/API/Document/wheel_event">Document: <code>wheel</code> イベント</a></li> + <li><a href="/ja/docs/Web/API/Element/wheel_event">Element: <code>wheel</code> イベント</a></li> +</ul> |