現代の Web 開発では、インタラクティブ性がユーザーを惹きつけ、動的なユーザー エクスペリエンスを生み出す鍵となります。インタラクティブ性を追加する 1 つの方法は、要素をドラッグ可能にすることです。この投稿では、HTML、CSS、JavaScript を使用してドラッグ可能な要素を作成する方法を検討します。
出力:
HTML 構造
基本的な HTML 構造から始めましょう。ドラッグ可能にする単純な div 要素を作成します。コードは次のとおりです:
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Draggable Element</title> <link rel="stylesheet" href="styles.css"> <div class="draggable" id="draggableElement">Drag me!</div> <script src="script.js"></script>
このコードには、draggable クラスと、draggableElement の ID を持つ div があります。これがドラッグ可能にする要素になります。
CSS を使用したドラッグ可能な要素のスタイル設定
.draggable { position: absolute; cursor: grab; width: 100px; height: 100px; background-color: #007bff; color: #fff; text-align: center; line-height: 100px; border-radius: 8px; user-select: none; } .draggable.dragging { cursor: grabbing; }
この CSS では、要素のスタイルを設定するための .draggable クラスを定義します。ページ内で自由に移動できるように、位置を絶対位置に設定します。カーソル プロパティは、要素がドラッグ可能であることを示すために、grab に設定されます。また、幅、高さ、背景色、テキストの色、テキストの配置、およびテキストを垂直方向と水平方向の中央に配置する行の高さを定義します。丸い角には border-radius が追加され、ドラッグ中のテキスト選択を防ぐために user-select: none が使用されます。続きを読む
JavaScript によるインタラクティブ性の追加
let draggableElement = document.getElementById('draggableElement'); let offsetX, offsetY; draggableElement.addEventListener('mousedown', startDragging); draggableElement.addEventListener('mouseup', stopDragging); function startDragging(e) { e.preventDefault(); offsetX = e.clientX - draggableElement.getBoundingClientRect().left; offsetY = e.clientY - draggableElement.getBoundingClientRect().top; draggableElement.classList.add('dragging'); document.addEventListener('mousemove', dragElement); } function dragElement(e) { e.preventDefault(); let x = e.clientX - offsetX; let y = e.clientY - offsetY; draggableElement.style.left = x + 'px'; draggableElement.style.top = y + 'px'; } function stopDragging() { draggableElement.classList.remove('dragging'); document.removeEventListener('mousemove', dragElement); }
ドラッグ開始: ユーザーが要素上でマウス ボタンを押したときに、startDragging 関数がトリガーされます。この関数:
- e.preventDefault() を使用してイベントのデフォルトの動作を防止します。
- マウスの位置から要素の左上隅の位置を減算してオフセットを計算します。
- カーソルを変更するためのドラッグ クラスを追加します。
- mousemove イベントのイベント リスナーをドキュメントに追加します。これにより、dragElement 関数がトリガーされます。
要素のドラッグ: マウスが移動すると、dragElement 関数がトリガーされます。この関数:
- イベントのデフォルトの動作を防止します。
- マウスの位置とオフセットに基づいて要素の新しい位置を計算します。
- 要素の左側と上部の CSS プロパティを更新して、要素を新しい位置に移動します。
ドラッグの停止: stopDragging 関数は、ユーザーがマウス ボタンを放したときにトリガーされます。この関数:
- ドラッグ クラスを削除して、カーソルを元の状態に戻します。
- ドキュメントからmousemoveイベントリスナーを削除して、ドラッグを停止します。続きを読む
結論:
イベント リスナーと DOM 操作の基本を理解することで、Web プロジェクトに対話性を追加し、ユーザー エクスペリエンスを向上させることができます。
記事全文を読む - ここをクリックしてください
以上がHTML、CSS、JavaScript を使用したドラッグ可能な要素の作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

最近の色に関するツール、記事、リソースの実行がありました。あなたの楽しみのためにここにそれらを丸くすることで、私がいくつかのタブを閉じてもらいましょう。

ロビンは以前にこれをカバーしたことがありますが、私は過去数週間でそれについての混乱を聞いて、他の人がそれを説明することに刺されたのを見ました、そして私は望んでいました

サンドイッチサイトのデザインが大好きです。多くの美しい特徴の中には、これらの見出しがあり、レインボーの下線が下線を描いて、スクロールするときに動きます。そうではありません

多くの人気のある履歴書設計は、グリッド形状にセクションを配置することにより、利用可能なページスペースを最大限に活用しています。 CSSグリッドを使用して、レイアウトを作成しましょう

ページのリロードは何かです。ページが反応しないと思われるとき、または新しいコンテンツが利用可能であると信じるときにページを更新することもあります。時々私たちはただ怒っています

Reactの世界でフロントエンドアプリケーションを整理する方法に関するガイダンスはほとんどありません。 (「正しいと感じる」までファイルを移動するだけです笑)。真実

ほとんどの場合、ユーザーがアプリケーションに積極的に関与しているのか、一時的に非アクティブであるかを本当に気にしません。非アクティブ、意味、おそらく彼ら

Wufooは常に統合に優れています。キャンペーンモニター、MailChimp、TypeKitなどの特定のアプリと統合されていますが、


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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