この記事では、簡単なドラッグ効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 1. ドラッグの基本的な効果アイデア: マウスがボックス上で押されると、移動の準備が整います(イベントがオブジェクトに追加されます) マウスが動くと、ボックスはマウスに追従します(イベントがページに追加されます) マウスを離すと、ボックスの動きが止まります(イベントがページに追加されます) var o = document.querySelector('div'); //マウスダウン o.onmousedown = function (e) { //ボックスに対するマウスの位置 var offsetX = e.clientX - o.offsetLeft; var offsetY = e.clientY - o.offsetTop; //マウスの移動 document.onmousemove = function (e) { o.style.left = e.clientX - offsetX + "px"; o.style.top = e.clientY - offsetY + "px"; } //マウスアップ document.onmouseup = function () { ドキュメント.onmousemove = null; ドキュメント.onmouseup = null; } } 2. ドラッグアンドドロップの問題ブラウザのデフォルトの動作(テキストと画像はドラッグ可能)により、ボックスにテキストが表示されたり、ボックス自体が画像である場合は、 return false を設定してデフォルトの動作を回避できます。ただし、このデフォルトの動作のインターセプトは、IE の下位バージョンには適用できません。グローバル キャプチャを使用して IE の問題を解決できます。 グローバルキャプチャ グローバル キャプチャは、IE の下位バージョンにのみ適用されます。 <button>btn1</button> <button>btn2</button> <スクリプト> var bts = document.querySelectorAll('ボタン') bts[0].onclick = 関数(){ コンソールログ(1); } bts[1].onclick = 関数(){ コンソールログ(2); } // bts[0].setCapture() //グローバルキャプチャを追加 // bts[0].releaseCapture() ; //グローバルキャプチャを解除</script> 指定されたノードにグローバル キャプチャが追加されると、ページ上の他の要素は同じタイプのイベントをトリガーしなくなります。 3. ドラッグアンドドロップのフルバージョンvar o = document.querySelector('div'); //マウスダウン o.onmousedown = function (e) { if (o.setCapture) { //IE 下位バージョン o.setCapture() } e = e || ウィンドウイベント //ボックスに対するマウスの位置 var offsetX = e.clientX - o.offsetLeft; var offsetY = e.clientY - o.offsetTop; //マウスの移動 document.onmousemove = function (e) { e = e || ウィンドウイベント o.style.left = e.clientX - offsetX + "px"; o.style.top = e.clientY - offsetY + "px"; } //マウスアップ document.onmouseup = function () { ドキュメント.onmousemove = null; ドキュメント.onmouseup = null; o.releaseCaptureの場合{ o.releaseCapture(); //グローバルキャプチャを解放する} } return false; //標準ブラウザのデフォルトの動作} 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: nginx を使用して http を https に変換するサンプルコード
Web プロジェクトを war にパッケージ化するアイデアにとって最も重要なことは、アトリフィカを...
MySQL レプリケーション テーブルの詳細な説明テーブル構造、インデックス、デフォルト値などを含む...
この記事では、ブルーグリーン デプロイメントと、nginx を使用してブルーグリーン デプロイメント...
ビジネス ソーシャル ネットワーキング サイト LinkedIn は最近、ナビゲーション バーとユー...
エディターは 2 つのカテゴリに分かれていると思います。1 つは、即時レンダリングを実現するために左...
1. 公式ウェブサイトから Linux バージョンをダウンロードします: https://dev.m...
I. はじめにまず、MySQL のバージョンについて説明します。 mysql> バージョンを選...
概要: Web ページをより美しく見せるために、ここでは CSS3 でよく使用されるスタイルをいくつ...
ご存知のとおり、私たちが毎日閲覧する Web ページ、Web サイト、または Web ページには独自...
目次1. オプションの連鎖演算子 [? .】 2. 論理的な空の代入 (?? =) 3. 論理和代入...
データベースデータをエクスポートします:まずcmdを開いてMySQLのbinフォルダに入ります1. ...
目次Vue モニターのプロパティリスナープロパティとは何ですか?リスニングプロパティと計算プロパティ...
1. 必要なカーネルバージョンをダウンロードする2. オペレーティングシステムにアップロードする3....
Oracle の大きなテキスト データ型 Clob 長いテキスト型 (MySQL ではサポートされて...
今日は、ネイティブ JS で実装されたブリージング カルーセルを紹介します。効果は次のとおりです。 ...