この記事では、マウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 今回のエフェクト画像は以下の通り。 この実験の難しさは、ボックスとマウスの相対的な位置を変えずに、マウスを押したり動かしたりすることでドラッグ効果を実現することだと思います。 ドラッグ効果を実現するにはどうすればいいですか? マウスが押された状態、マウスが移動された状態、マウスが上げられた状態をそれぞれ表す、 マウス押下のコールバック関数では、 マウス移動コールバック関数では、マウスの位置と以前に計算された差に基づいてボックスの現在の位置を取得し、左と上の値を変更する必要があります。位置を絶対に設定することを忘れないでください (忘れていたので...) マウスアップのコールバック関数では、 こちらも注目! ! ! マウス移動機能とマウスリフト機能は、マウス押下機能内に記述する必要があります。これは、マウスが押された後の後続の動作を設計する必要があるためです。次の点が非常に重要です。 マウスダウン機能はdivにあり、マウス移動とマウスアップ機能はドキュメントにあります。 div内でマウスを動かすのではなく、ページ全体を動かしたいからです 重要なポイントはおそらく次のとおりです。コードは次のとおりです。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta http-equiv="X-UA-compatible" content="IE=edge"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>ドキュメント</title> <スタイル> #箱{ 幅: 100ピクセル; 高さ: 100px; 背景色: アクアマリン; 境界線の半径: 14px; ボックスの影: 2px 2px 6px rgba(0,0,0,.3); /* 皆さん、位置を設定せずに左に移動して変更したいとします。 。 。 */ 位置: 絶対; } </スタイル> </head> <本文> <div id="box"></div> <スクリプト> box = document.getElementById("box"); とします。 box.onmousedown=関数(イベント){ disx = event.clientX-box.offsetLeft; とします。 disy=event.clientY-box.offsetTop とします。 //これはbox.onmousemoveではなく、document.onmousemoveです document.onmousemove=関数(イベント){ box.style.left=event.clientX-disx+'px'; box.style.top=event.clientY-disy+'px'; } //ommousedownに書き込む document.onmouseup=function(){ //両方をnullに設定する ドキュメント.onmousemove=null; ドキュメント.onmouseup=null; false を返します。 } } </スクリプト> </本文> </html> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL をクリーンにアンインストールする方法 (テスト済みで効果的)
キープアライブとは何ですか?通常の開発では、コンポーネントによっては複数回初期化する必要のないものも...
設定手順Linux システム: CentOS-7.0 MySQL バージョン: 5.7.21 Lin...
序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...
目次1. はじめに2. 実際の事例1. App.vueを変更する2. レイアウトを調整する3. ジャ...
この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...
目次実装のアイデアアカウント パスワードを保存する方法は 3 つあります。機能インターフェースアカウ...
目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...
カスケードを制御するために CSS の任意のプロパティに割り当てることができる特別な値が 2 つあり...
1 はじめにスレッド技術は 1960 年代にすでに提案されていましたが、マルチスレッドがオペレーティ...
SQL Server のバッチコメントバッチ注釈Ctrl + (K, C): Ctrlキーを押しなが...
言語では、DSL を実装するためにマクロがよく使用されます。マクロを使用すると、開発者は JSX 構...
デフォルトでは、Nginx は IP アドレスごとに 1 つの SSL 証明書のみをサポートします。...
前面に書かれたデータベースは本質的に共有リソースであるため、同時アクセスのパフォーマンスを最大化する...
//文法: @media mediatype and | not | only (メディア機能) ...
1. はじめに:ウェブページにフラッシュ コンテンツを正常に表示したい場合は、ページ上のフラッシュ ...