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の自己接続と結合の詳細な理解

推薦する

Nodejs 探索: シングルスレッドの高並行性の原理を深く理解する

目次序文一目でわかる建築オペレーティングシステムとの対話シングルスレッドイベント駆動/イベントループ...

MySQL シリーズ 14 MySQL 高可用性実装

1. 内閣府マスターノードを監視することで、他のスレーブノードへの自動フェイルオーバーを実現できます...

CSS3で実装された炎のアニメーション

成果を達成する実装コードhtml <div class="コンテナ">...

MySQL でのフィルター条件なしのカウントの詳細な説明

カウント(*)成し遂げる1. MyISAM: テーブル内の行の総数をディスク上に保存し、フィルタリン...

CentOS7におけるKVM仮想化の基本管理の詳しい説明

1. kvm仮想化をインストールする : : : : : : : : : : : : : : : :...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

CSS 等高レイアウトの一般的な方法

等高レイアウト同じ親コンテナー内の同じ高さの子要素のレイアウトを指します。等高レイアウトの実装の観点...

列名を知らなくてもMySQLインジェクションを詳細に解説

序文最近、穴を掘ってスペースを作っているだけなので、心が空っぽになっているように感じます。テクノロジ...

Linuxで現在のスクリプトの実際のパスを取得する方法

1. 現在のスクリプトの実際のパスを取得します。 #!/bin/bash if [[ $0 =~ ^...

HTMLページ間でパラメータを渡すフロントエンド方式の詳細な説明

プロジェクトでよくある状況として、案件リストなどのリストが存在することがあります。リスト内の項目をク...

Hadoop 2.x と 3.x の 22 ポイントの比較、Hadoop 3.x の 2.x に対する改善点

質問ガイド1. Hadoop 3.x はどのようにして障害を許容するのでしょうか? 2. Hadoo...

音声キューイングシステムを実装するためのJavaScript

目次導入主な特徴エフェクト表示キーコード導入音声キューイングシステムは、銀行、レストラン、病院などの...

Docker Compose の実践とまとめ

Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...

Vue Notepadの例の詳細な説明

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

MySQL アクティブ-アクティブ同期レプリケーションの 4 つのソリューションの詳細な説明

目次MySQLネイティブレプリケーションに基づくマスター-マスター同期ソリューションGaleraレプ...