1 実施原則これは、DOM 要素の dragstart/ondragover/ondrop イベントを使用して行われます。ドラッグが開始されるとドラッグされた要素が取得され、その後ドラッグが許可されます。最後に、マウスを持ち上げて新しい位置にドロップします。ここでは、event.preventDefault() メソッドが使用されます。多くの人が混乱するかもしれません。ここで簡単に説明します。 event.preventDefault(): このメソッドは、ブラウザがイベントに関連付けられたデフォルトのアクションを実行しないようにします。 dragover イベントでこれを使用します。dragover に関連付けられたデフォルトのアクションは、データまたは要素が他の要素に配置されないようにすることです。そのため、event.preventDefault() を通じてデフォルトのイベントを禁止し、要素を新しい位置にドラッグできるようにする必要があります。 <!-- div をドラッグして順序を変更します。GIS のレイヤー順序の切り替えにも適用できます --> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <ヘッド> <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" /> <タイトル></タイトル> <スタイル タイプ="text/css"> 体{ ディスプレイ: フレックス; パディング: 100px; flex-direction: 列; } div{ 幅: 100ピクセル; 高さ: 100px; テキスト配置: 中央; } </スタイル> </head> <本文> <div style="background-color: red;width:200px;height:200px;" draggable="true">赤</div> <div style="background-color: green;width:100px" draggable="true">緑</div> <div style="background-color: blue;" draggable="true">青</div> </本文> <script type="text/javascript"> div = document.getElementsByTagName("div"); とします。 コンテナを null にします。 // ドラッグスタート、ドラッグオーバー、ドロップイベントを各divにトラバースしてバインドします for(let i=0;i<div.length;i++){ div[i].ondragstart=関数(){ コンテナ=これ } div[i].ondragover=関数(){ イベントをデフォルトにしない(); } div[i].ondrop=関数(){ デバッガ; if(コンテナ!=null&&コンテナ!=this){ // 具体的な考え方は変数値の交換と同じです。let temp=document.createElement("div"); document.body.replaceChild(temp,this); //新しく作成されたdivを使用して、宛先の位置を占めます。document.body.replaceChild(this,container); //宛先のdivは開始位置に配置されます。document.body.replaceChild(container,temp) //開始のdivは宛先の位置に配置されます。debugger; console.log('ビジネスロジックを実行') } } } </スクリプト> </html> これで、JavaScript のドラッグと div の位置の入れ替えの実装例に関するこの記事は終了です。JavaScript のドラッグと入れ替えの div コンテンツに関する関連情報をさらに知りたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQLがファントムリードを解決する方法の詳細な説明
>>: Nginx 書き換えジャンプの適用シナリオの詳細な説明
Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...
序文ページを作っていく上で、ページレイアウトに関する内容に遭遇することが多く、面接でも聞かれることも...
テーブルページを作成するときに、td に設定された幅が無効になることがあります。td の幅は常に内部...
この記事では、ネイティブ JS によって実装された動的読み込みプログレス バーの特殊効果を紹介します...
目次背景効果アイデア背景少し前に、会社のプロジェクトで問題が発生しました。地図のベースマップ領域の範...
目次1. マルチインスタンスとは2. 複数インスタンスのインストールの準備3. MYSQLの複数イン...
Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...
目次ウェブパック5公式スタート建築ガイド構築を開始する依存する準備が完了したら、プロジェクトの構築を...
目次1. リソースのダウンロード2. ソフトウェアを解凍する2.1 場所を選択する2.2 名前を変更...
RHEL/CentOS シリーズの Linux オペレーティング システムには MySQL ソース自...
この例では、デバッグ用の MySQL データベースをダウンロードしてインストールする必要があります。...
今日、非常に奇妙な状況に遭遇しました。docker イメージを更新した後、docker-compos...
この記事の例では、簡単なショッピングカート機能を実現するためのjsの具体的なコードを参考までに共有し...
gzip は、Linux システムでファイルの圧縮と解凍によく使用されるコマンドです。このコマンドで...
1. はじめにSupervisor は Python で開発された汎用プロセス管理プログラムです。通...