jQueryはマウスドラッグ画像機能を実装します

jQueryはマウスドラッグ画像機能を実装します

この例では、jQuery を使用してマウス ドラッグ イメージ機能を実装します。

まず、ラッパーを設定します。ラッパー内の座標が画像の移動の座標となります。

 #ラッパー{
      幅: 1000ピクセル;
      高さ:1000ピクセル;
      位置:相対;
    }

ドラッグするdivである画像divを設定します

#div1{
      位置: 絶対;
      左:0px;
      上:0px;
      幅: 300ピクセル;
      高さ: 200px;
      背景: url("d:/Pictures/Earth.jpg");
      背景サイズ:contain;
    }

上記は、ラッパーの位置を相対的に設定し、div1 の位置を絶対的に設定しています。

次に、ドラッグ アルゴリズムを設計します。

考え方は次のとおりです。

1. マウスがクリックされたときにdivがマウスに追従するようにする

2. マウスを離したら追跡を停止する

まず、div の座標を現在のマウスの位置に変更する関数が必要です。

まず、現在のマウス座標と画像座標を保存するためのいくつかの変数を定義する必要があります。

  var タイマー;
      var マウスX = 0;
      var マウスY = 0;
      var pic_width = parseInt($("#div1").css("width")); 
      var pic_height = parseInt($("#div1").css("height"));

ここで、ラッパーにイベント リスナーを追加する必要があります。マウスがラッパー内で移動すると、変数 mousex と mousey の値が変更されます。

$("#wrapper").mousemove(function(e){
        マウスX = e.clientX;
        マウスY = e.clientY;
      });

フォロー関数を書いてタイマーで呼び出す

$("#div1").mousedown(関数(){
        タイマー=setInterval(follow,10);
      });
      $("#div1").mouseup(関数(){
        タイマーの間隔をクリアします。
      });
      var follow = 関数(){

        $("#div1").css("左",mouseX-pic_width/2);
        $("#div1").css("top",mouseY-pic_height/2);
      };

完全なコードは次のとおりです。

<!doctypehtml>
<html>
  <ヘッド>
    <スクリプト タイプ = "text/javascript" src = "jquery.js"></script>
    <スタイル タイプ = "text/css">
    #ラッパー{
      幅: 1000ピクセル;
      高さ:1000ピクセル;
      位置: 相対的;
      背景: 線形グラデーション(ライトブルー、ホワイト);
      フォントサイズ: 40px;
    }
    #div1{
      位置: 絶対;
      左:0px;
      上:0px;
      幅: 300ピクセル;
      高さ: 200px;
      背景: url("d:/Pictures/Earth.jpg");
      背景サイズ:contain;
    }
    </スタイル>
  </head>
  <本文>
    <div id = "ラッパー">
      正直に言うと、私は悲しんでいます。私はただ、愛と非難を表明し、私はただ、あなたが失ったことと、あなたが亡くなったことを悔い改めているだけです。
      <div id = "div1">

      </div>
    </div>
    
    
    <スクリプト>
      
      var タイマー;
      var マウスX = 0;
      var マウスY = 0;
      var pic_width = parseInt($("#div1").css("width")); 
      var pic_height = parseInt($("#div1").css("height")); 

      
      $("#wrapper").mousemove(function(e){
        マウスX = e.clientX;
        マウスY = e.clientY;
      });

      $("#div1").mousedown(関数(){
        タイマー=setInterval(follow,10);
      });
      $("#div1").mouseup(関数(){
        タイマーの間隔をクリアします。
      });
      var follow = 関数(){

        $("#div1").css("左",mouseX-pic_width/2);
        $("#div1").css("top",mouseY-pic_height/2);
      };
    </スクリプト>
  </本文>
</html>

最終結果:

jQuery を使用してマウスで画像をドラッグする方法についての記事はこれで終わりです。jQuery を使用してマウスで画像をドラッグする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • jQuery で実装されたマウス ドラッグ フローティング レイヤー機能の例 [div とその他のタグをドラッグ]
  • jQuery はマウスのドラッグによるテーブル列幅の調整を実装します
  • jQueryはマウスドラッグによるLiまたはTableのソートを実装します
  • マウスドラッグ画像効果を実現するjQueryのサンプルコード
  • JQueryはマウスドラッグ効果の実装原理とコードを記述します
  • jQuery に基づくマウス ドラッグ効果コード

<<:  Tomcat プロジェクトを展開する一般的な方法のいくつか [テスト済み]

>>:  MySQLの自己接続と結合の詳細な理解

推薦する

HTML a タグの href 属性を使用して相対パスと絶対パスを指定する方法

実際のWeb開発では、画像の挿入やCSSファイルなどすべてパスが必要となります。ファイルパスを誤って...

Centos での TCPWrappers アクセス制御の実装

1. TCP ラッパーの概要TCP Wrappers は TCP サービス プログラムを「ラップ」し...

いくつかの CSS3 タグの短縮形 (推奨)

border-radius: CSS3 丸い角構文: border-radius: 25px;楕円...

Vueは小さなメモ帳機能を実装しました

この記事の例では、メモ帳の小さな機能を実現するためのvueの具体的なコードを参考までに共有しています...

SNMP4J サーバー接続タイムアウト問題の解決策

弊社のネットワーク管理センターは管理センター兼サーバーとして機能します!各管理対象デバイスは、TCP...

VMware は Centos7 システムの PXE+kickstart 無人インストールの詳細なプロセスを実装します

目次PXEはサーバーの無人バッチ展開を実装します1. PXEの概要1.1 PXEとは何か1.2 キッ...

Tomcat Nginx Redis セッション共有プロセス図

1. 準備ミドルウェア: Tomcat、Redis、Nginx Jar パッケージ: commons...

MySQL バージョン 5.7.24 のデータベース インストール プロセスの詳細なグラフィック説明

MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーションに...

Linux運用保守ツールSupervisor(プロセス管理ツール)のインストールと使用

1. はじめにSupervisor は Python で開発された汎用プロセス管理プログラムです。通...

MySQLテーブル構造を変更するコマンドを表示する

簡単な説明エディターはデータベースのエンコードが間違っているために問題に遭遇することが多く、これは頭...

Linux のプロセスクラッシュの原因をコアダンプ技術を使用して追跡する簡単な分析

最近、プロジェクトで問題が発生しました。サーバー側のプログラムが突然クラッシュして終了しました。クラ...

Webデザイン講座(4):素材と表現について

<br />前回のWebデザインチュートリアル:Webデザインチュートリアル(3):デザ...

CSS3 @mediaの基本的な使い方のまとめ

//文法: @media mediatype and | not | only (メディア機能) ...

ウェブページ印刷細線表+ページ印刷究極の戦略

最近、クライアントのために印刷していたとき、ページのヘッダーを印刷するのではなく、表の内容だけを印刷...

MySQLサーバーは--read-onlyオプションで実行されているため、このステートメントを実行できません

会議中に同僚から開発ライブラリを書き込めないとの報告を受けました。エラー メッセージは次のとおりでし...