JavaScript を使用して画像をコンテナ内に制限しながらドラッグしたりズームしたりするにはどうすればよいですか?
JavaScript 画像のドラッグとズームをコンテナ内に限定して実現するにはどうすればよいでしょうか?
Web 開発では、画像のドラッグやズームが必要になることがよくあります。この記事では、JavaScriptを使用して画像のドラッグやズーム、コンテナ内での操作を制限する方法を紹介します。
1. 画像をドラッグします
画像のドラッグを実現するには、マウス イベントを使用してマウスの位置を追跡し、それに応じて画像の位置を移動します。以下はサンプル コードです:
// 获取图片元素 var image = document.getElementById('image'); var isDragging = false; // 是否正在拖动 var startX = 0; // 开始拖动时的鼠标水平位置 var startY = 0; // 开始拖动时的鼠标垂直位置 var offsetX = 0; // 图片偏移量 var offsetY = 0; // 图片偏移量 // 鼠标按下时的事件处理函数 image.onmousedown = function(e) { isDragging = true; startX = e.clientX; startY = e.clientY; offsetX = image.offsetLeft; offsetY = image.offsetTop; }; // 鼠标移动时的事件处理函数 document.onmousemove = function(e) { if (isDragging) { var deltaX = e.clientX - startX; var deltaY = e.clientY - startY; image.style.left = offsetX + deltaX + 'px'; image.style.top = offsetY + deltaY + 'px'; } }; // 鼠标松开时的事件处理函数 document.onmouseup = function() { isDragging = false; };
上記のコードでは、3 つのイベント処理関数 onmousedown
、onmousemove
、onmouseup
を使用して次のことを実現します。ドラッグ効果。 onmousedown
では、マウスの位置と画像の初期オフセットを記録します。 onmousemove
では、ドラッグしている場合、マウスの変位を計算し、画像の位置を更新します。 onmouseup
では、ドラッグ フラグ isDragging
を false
に設定します。
2. 画像のズーム
画像のズームを実現するには、マウス ホイール イベントを使用してマウスのスクロールをリッスンし、画像のサイズを変更します。以下はサンプル コードです:
// 获取图片元素 var image = document.getElementById('image'); var scaleFactor = 1; // 缩放比例 // 鼠标滚轮事件处理函数 image.onmousewheel = function(e) { e.preventDefault(); var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); // 跨浏览器兼容性处理 // 计算缩放比例 if (delta > 0) { scaleFactor *= 1.1; } else { scaleFactor *= 0.9; } // 设置图片的缩放 image.style.transform = 'scale(' + scaleFactor + ')'; };
上記のコードでは、ブラウザのホイール イベントを使用してマウス スクロールを監視します。スクロールホイールの方向を判断して、ズーム率 scaleFactor
を変更します。次に、transform
属性を使用して画像のズームを設定します。
3. コンテナに制限する
画像をコンテナに制限するには、ドラッグおよびズームのコードにいくつかの制限を追加する必要があります。以下はサンプル コードです。
// 获取图片元素和容器元素 var image = document.getElementById('image'); var container = document.getElementById('container'); // 容器的宽度和高度 var containerWidth = container.offsetWidth; var containerHeight = container.offsetHeight; // 获取图片的原始宽度和高度 var imageWidth = image.offsetWidth; var imageHeight = image.offsetHeight; // 计算边界 var maxX = containerWidth - imageWidth; var maxY = containerHeight - imageHeight; // 拖动图片时的事件处理函数 // ... // 缩放图片时的事件处理函数 // ...
上記のコードでは、最初にコンテナ要素の幅と高さ、およびピクチャ要素の元の幅と高さを取得します。次に、コンテナ内で画像が移動できる境界を計算しました。ドラッグおよびズームのイベント ハンドラーでは、これらの境界を使用して画像の位置とサイズを制限します。
要約すると、上記のコードを使用して画像のドラッグとズームを実現し、それをコンテナーに限定することができます。これにより、ユーザーはコンテナ内で画像を自由にドラッグしたりズームしたりできます。もちろん、特定のニーズに応じてコードを変更および最適化することもできます。
以上がJavaScript を使用して画像をコンテナ内に制限しながらドラッグしたりズームしたりするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Windows 11 のディスプレイ スケーリングに関しては、好みが人それぞれ異なります。大きなアイコンを好む人もいれば、小さなアイコンを好む人もいます。ただし、適切なスケーリングが重要であることには誰もが同意します。フォントのスケーリングが不十分であったり、画像が過度にスケーリングされたりすると、作業中の生産性が大幅に低下する可能性があるため、システムの機能を最大限に活用するためにカスタマイズする方法を知る必要があります。カスタム ズームの利点: これは、画面上のテキストを読むのが難しい人にとって便利な機能です。一度に画面上でより多くの情報を確認できるようになります。特定のモニターおよびアプリケーションにのみ適用するカスタム拡張プロファイルを作成できます。ローエンド ハードウェアのパフォーマンスの向上に役立ちます。画面上の内容をより詳細に制御できるようになります。 Windows 11の使用方法

Safari でズーム レベルを制御できない場合、作業が困難になることがあります。したがって、Safari がズームアウトしているように見える場合は、それが問題である可能性があります。 Safari でのこの小さなズームの問題を解決する方法をいくつか紹介します。 1. カーソル拡大率:Safari メニューバーの「表示」>「カーソル拡大率」を選択します。これにより、カーソルが画面上でより見やすくなり、制御が容易になります。 2. マウスを移動します。これは簡単に聞こえるかもしれませんが、マウスを画面上の別の場所に移動するだけで、マウスが自動的に通常のサイズに戻ることがあります。 3. キーボード ショートカットを使用する 解決策 1 – ズーム レベルをリセットする Safari ブラウザから直接ズーム レベルを制御できます。ステップ 1 – Safari を使用している場合

Word文書を使ってファイルを編集する場合、ページ数が多く、並べて表示して全体の効果を確認したいのですが、操作方法が分からず、長時間スクロールしなければならないことがよくあります。ページごとに表示します。あなたも同様の状況に遭遇したことがあるかどうかはわかりませんが、実際、Word のズーム ページを並べて設定する方法を学べば、現時点では簡単に解決できます。以下、見て一緒に学びましょう。まず、Word 文書内に新しいページを作成して開き、区別しやすくするために簡単なコンテンツを入力します。 2. たとえば、ワードズームと並べて表示を実現したい場合は、図に示すように、メニューバーで[表示]を見つけ、表示ツールオプションで[複数ページ]を選択する必要があります。 3. [複数ページ] を見つけて、クリックします。

ソーシャルメディアでのビデオアカウントの人気により、ますます多くの人がビデオアカウントを使用して日常生活、洞察、ストーリーを共有し始めています。ただし、一部のユーザーはコメントが制限されているため、混乱や不満を感じる可能性があります。 1. 動画アカウントのコメント制限を解除するにはどうすればよいですか?動画アカウントのコメント制限を解除するには、アカウントが正しく登録され、実名認証が完了していることを確認する必要があります。動画アカウントにはコメント要件があり、実名認証を完了したアカウントのみコメント制限を解除できます。アカウントに何らかの異常がある場合は、コメント制限を解除する前に問題を解決する必要があります。 2. 動画アカウントのコミュニティ基準に準拠します。動画アカウントではコメント内容に一定の基準があり、違法な内容が含まれるコメントの場合は発言が制限されます。コメント制限を解除するには、動画アカウントのコミュニティに従う必要があります

Microsoft Word 文書では、特に用紙を節約する必要がある場合や両面文書を印刷する必要がある場合に、2 ページのコンテンツを 1 ページに結合する状況がよく発生します。この目標を達成するための一般的な方法をいくつか以下に紹介します。方法 1: ページの余白を調整する まず Word 文書を開き、メニュー バーの [ページ レイアウト] オプションを見つけます。クリックすると、ページ レイアウト設定メニューがポップアップ表示されます。ここでは、上下左右の余白を含むページの余白を調整できます。一般に、上下の余白を小さくすると、コンテンツが 1 ページ内に収まるようになります。味わうことができます

JavaScript で画像の左右のドラッグ切り替え効果を実現するにはどうすればよいですか?最新の Web デザインでは、動的な効果によってユーザー エクスペリエンスと視覚的な魅力が向上します。画像の左右のドラッグ切り替え効果は一般的な動的効果であり、ユーザーは画像をドラッグすることで異なるコンテンツを切り替えることができます。この記事では、JavaScript を使用してこの画像切り替え効果を実現する方法と、具体的なコード例を紹介します。まず、複数の画像を含む画像を作成するための HTML および CSS コードを準備する必要があります。

コンピュータ技術、ネットワーク技術、およびソフトウェア技術の発展により、オフィスオートメーションに大きな展望がもたらされました。現在のオフィス業務プロセスはすべて電子的に実行できるため、作業時間を大幅に節約できます。Excel テーブルは一般的にソフトウェア操作で使用されます。紙や組版の問題に基づいて、Excel テーブル全体を拡大または縮小する必要がある場合があります。設定がある場合は、私たちのニーズを満たすことができる操作方法があれば、次のコースを見てみましょう。 1. まず Excel ソフトウェアを開き、次の図に示すように関連情報を入力します。 2. 次に、右下隅のアイコンをクリックして左または右に移動すると、次の図に示すように、プラス記号は拡大し、マイナス記号は縮小することができます。 3. 2 番目の方法では、Ctrl + マウス ホイールを使用することもできます。

JavaScript はコンテナ内に限定しながら画像のドラッグとズームをどのように実装するのでしょうか? Web 開発では、画像をドラッグしてズームする必要がよくあります。この記事では、JavaScriptを使用して画像のドラッグやズーム、コンテナ内での操作を制限する方法を紹介します。 1. 画像をドラッグする 画像をドラッグするには、マウス イベントを使用してマウスの位置を追跡し、それに応じて画像の位置を移動します。以下はサンプルコードです: //ピクチャ要素 varimage を取得します。
