シンプルなドラッグ効果を実現するJavaScript

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

1. まず足場を構築します。

* {
            マージン: 0;
            パディング: 0;
        }
        
        p {
            背景: スカイブルー;
            テキスト配置: 中央;
        }
        
        html,
        体 {
            幅: 100%;
            高さ: 100%;
        }
        
        。マスク {
            幅: 100%;
            高さ: 100%;
            位置: 固定;
            左: 0;
            上: 0;
            背景: rgba(0, 0, 0, .5);
            表示: なし;
        }
        
        。ログイン {
            幅: 400ピクセル;
            高さ: 300px;
            背景:紫;
            位置: 絶対;
            左: 50%;
            上位: 50%;
            変換: translate(-50%, -50%);
            表示: なし;
            カーソル: 移動;
        }
        
        .ログイン>スパン{
            表示: インラインブロック;
            幅: 50px;
            高さ: 50px;
            背景: 赤;
            位置: 絶対;
            上: 0;
            右: 0;
        }
<p>私はpタグです</p>
    <a href="http://www.baidu.com" >公式サイト</a>
    <div class="mask"></div>
    <div class="ログイン">
        <span></span>
</div>

2. 論理部分

//1. 操作対象となる要素を取得します。const oP = document.querySelector("p");
const oMask = document.querySelector(".mask");
const oLogin = document.querySelector(".login");
const oClose = oLogin.querySelector(".login>span");
// コンソールログ(oClose);
 
//2. クリックイベントをリッスンする oP.onclick = function() {
    oMask.style.display = "ブロック";
    oLogin.style.display = "ブロック";
        };
        oClose.onclick = 関数() {
            oMask.style.display = "なし";
            oLogin.style.display = "なし";
        };
 
//3. ログインボックスの押下と移動のイベントをリッスンする oLogin.onmousedown = function(e) {
            e = e || e.window;
 
            //1. 固定距離を計算します。const x = e.pageX - oLogin.offsetLeft;
            定数 y = e.pageY - oLogin.offsetTop;
            // コンソールログ(x);
 
            //2. モバイルイベントをリッスンする oLogin.onmousemove = function(e) {
                e = e || e.window;
 
                //3. 移動後のオフセットを計算します。let offsetX = e.pageX - x;
                offsetY = e.pageY - y とします。
 
                //4. ログイン ボックスの位置をリセットします。oLogin.style.left = offsetX + 'px';
                oLogin.style.top = offsetY + 'px';
            };
        };
 
        oLogin.onmouseup = 関数() {
            oLogin.onmousemove = null;
        }; 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JQuery ダイアログ (JS モーダル ウィンドウ、ドラッグ可能な DIV)
  • Sortable.js ドラッグアンドドロップソートの使い方の分析
  • ドラッグ効果を実現するjs
  • JavaScript でモバイル端末のタッチスクリーンドラッグ機能を実装
  • js を使用して実装されたシンプルなドラッグ効果
  • JS は美しいウィンドウのドラッグ効果を実現します (サイズの変更、最大化、最小化、閉じるなど)
  • JS で実装したファイルのドラッグ アンド ドロップ アップロード機能の例
  • JavaScript を使用してマウス ドラッグ イベントを実装する
  • JS コンポーネント Bootstrap Table テーブル行ドラッグ効果実装コード
  • JSはモバイルデバイス上のタッチスクリーンドラッグ機能を実装します

<<:  IE をフリーズさせる HTML コード

>>:  Eclipseを使用してMySQLデータベースに接続する方法を説明します

推薦する

CSS3 のカラー値 RGBA とグラデーションカラーの使用方法の紹介

CSS3以前は、グラデーション画像は背景画像としてのみ使用できました。 CSS3 のグラデーション構...

ウェブデザイナーは3つの側面からウェブページを最適化する必要がある

<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...

Vue での Vue.prototype の使用に関する詳細な説明

目次1. 基本的な例2. インスタンスプロトタイプのスコープを設定する3. グローバル変数の登録と使...

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

Win7 64 ビット版に MySQL 5.7 をダウンロードしてインストールする際によくある問題の概要

1. 公式ウェブサイトからMySQLをダウンロードします。 これが私たちが探しているものです、win...

Linux NFSメカニズムの動作原理と例の分析

NFS とは何ですか?ネットワークファイルシステムネットワーク上でファイルを保存および整理するための...

同期スクロールを実現するための複数のテーブル要素のサンプルコード

Element UIは、複数のテーブルを同時に水平および垂直にスクロールすることを実装します。 コー...

DockerがMySQL構成実装プロセスを開始

目次実際の戦闘プロセスまずは主なコマンドと詳細を一つずつ説明しましょう起動が成功したかどうかを確認す...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

SQL Server の完全バックアップに関する珍しいエラーと解決策

1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...

将来的に人気のあるウェブサイトのナビゲーションの方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

Linux周辺ファイルシステムのカスタマイズ方法

序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...

Reactはいくつかの方法でパラメータを渡します

目次親コンポーネントと子コンポーネント間でパラメータを渡すルーティングパラメータステータスの改善コン...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vueでブラウザ共有機能を呼び出す方法

序文Vue(発音は /vjuː/、view に似ています)は、ユーザーインターフェイスを構築するため...