この記事では、divのドラッグ可能な高さを実現するためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 ここに、ページ div のドラッグ機能を実現できる既製のデモがありますが、効果が私の希望とは少し異なるため、実際のニーズに合わせて再度修正しました。まずは、現在のデモ効果を見てみましょう。 <テンプレート> <div id="eagleMapContainer" style="border: 1px solid red;overflow-y: auto;" title=""> <div id="tz" @mousedown="dragEagle" style="border: 1px solid blue;"> <div title="ドラッグしてサイズを変更" id="move_tz" style="border: 1px solid green;"></div> </div> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "eagleMap", データ() { 戻る {} }, メソッド: { ドラッグイーグル: 関数(e) { var targetDiv = document.getElementById('eagleMapContainer'); //クリックされたときにマップ コンテナーの幅と高さを取得します。 var targetDivHeight = targetDiv.offsetHeight; var startX = e.clientX; var startY = e.clientY; var _this = これ; document.onmousemove = 関数 (e) { e.preventDefault(); //マウスのドラッグの幅と高さを取得します。絶対値を取得します。var distX = Math.abs(e.clientX - startX); var distY = Math.abs(e.clientY - startY); // 上方向にドラッグ: (e.clientY < startY) の場合 { targetDiv.style.height = targetDivHeight + distY + 'px'; } // 下にドラッグ: (e.clientX < startX && e.clientY > startY) の場合 { targetDiv.style.height = (targetDivHeight - distY) + 'px'; } (parseInt(targetDiv.style.height)> = 300)の場合{ targetDiv.style.height = 300 + 'px'; } (parseInt(targetDiv.style.height)<= 150)の場合{ targetDiv.style.height = 150 + 'px'; } } document.onmouseup = 関数(){ ドキュメント.onmousemove = null; } } }, }; </スクリプト> <スタイルスコープ> #イーグルマップコンテナ{ 位置: 絶対; 左: 13%; 下: 10px; zインデックス: 200; オーバーフロー: 非表示; 可視性: 可視; 幅: 200ピクセル; 高さ: 200px; } #tz { 位置: 絶対; 右: 1px; 上: 1px; 幅: 27px; 高さ: 20px; カーソル:ne-resize; zインデックス: 200001; 背景画像: url(""); } #tz:ホバー{ 背景色: #666; } #move_tz { 位置: 絶対; 右: 0px; 上: 0px; 幅: 27px; 高さ: 20px; カーソル:ne-resize; zインデックス: 100; 背景画像: url(""); 背景位置: 0px 0px; } </スタイル> しかし、その効果は私が望んでいたものとは少し違ったので、少し修正する必要がありました。 私が望む効果は、小さな四角いリストが多数含まれる div があることです。スクロールが制限を超えて設定されているため、スクロール バーを使用して div にドラッグを追加し、高さを変更します。 次のステップは、上記のデモを変換することです。簡単にするために、コードに移動するだけです。 上にドラッグする必要がある div の下に div を追加し、この div をクリックしてドラッグ機能を開始します。 <!-- 小さなボックスをドラッグ アンド ドロップします --> <div id="tz" @mousedown="dragEagle"> <div title="ドラッグしてサイズを変更" id="move_tz"></div> </div> ドラッグに応じて高さが変化する div の ID を「fuDiv」として設定し、メソッドを記述する必要があります。 // ドラッグイーグル(e) { var targetDiv = document.getElementById('fuDiv'); //クリックされたときにマップ コンテナーの幅と高さを取得します。 var targetDivHeight = targetDiv.offsetHeight; var startX = e.clientX; var startY = e.clientY; var _this = これ; document.onmousemove = 関数 (e) { e.preventDefault(); //マウスのドラッグの幅と高さを取得します。絶対値を取得します。var distY = Math.abs(e.clientY - startY); // 上方向にドラッグ: (e.clientY < startY) の場合 { targetDiv.style.height = targetDivHeight - distY + 'px'; } // 下にドラッグ: e.clientX < startX && e.clientY > startY) の場合 { targetDiv.style.height = (targetDivHeight + distY) + 'px'; } (parseInt(targetDiv.style.height)> = 320)の場合{ targetDiv.style.height = 320 + 'px'; } (parseInt(targetDiv.style.height)<= 160)の場合{ targetDiv.style.height = 160 + 'px'; } } document.onmouseup = 関数(){ ドキュメント.onmousemove = null; } }, 次に、それらの CSS スタイルを設定します。実際、この部分はカジュアルであり、自分の好みに応じて行うことができます。 #tz { 幅: 100%; 高さ: 5px; カーソル: s-resize; zインデックス: 200001; } #move_tz { 幅: 100%; 高さ: 5px; カーソル: s-resize; zインデックス: 100; 背景画像: url(""); 背景位置: 0px 0px; } 最終結果: 効果は特に良いわけではなく、最適化に値する部分がまだたくさんありますが、今は書きません。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: VMware vCenter の不正な任意ファイルアップロードの脆弱性 (CVE-2021-21972) について
>>: Web ページの HTML コードの説明: 順序付きリストと順序なしリスト
序文SQL モードは、MySQL がサポートする SQL 構文と、実行されるデータ検証チェックに影響...
かなり前に実装された機能ですが、クリックすると選択したメニュー項目の背景色が白くなることに気付きまし...
序文まず、TCP 接続を識別する方法を見てみましょう。システムは、(src_ip、src_port、...
WEB アプリケーションのページでは、テーブルがよく使用されます。列の数が限られているため、各列のコ...
jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...
通常のプロジェクトでは、1 回の入札で同時にデータを更新および照会する必要があるという問題によく遭遇...
コアはmysqldumpとランタイムです操作は実際にはそれほど難しくありません。バックアップ操作を実...
目次1. Dockerのセキュリティ問題2. Dockerアーキテクチャの欠陥とセキュリティメカニズ...
目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...
MySQL は比較的使いやすいリレーショナル データベースです。今日は、win10 システムを再イ...
MySQL が挿入などの操作を実行するときにコミットする必要があるかどうかは、ストレージ エンジン...
ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...
1|0 背景プロジェクトの要件により、各月の履歴在庫データをアーカイブしてバックアップする必要があり...
1. 1.ngx_stream_proxy_moduleモジュールのproxy_passディレクティ...
目次1. データベース操作2. データ型3. バックアップとリカバリ3. 操作4. 上級5. 知識補...