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

推薦する

MySQL データベース データのロード 複数の用途

目次MySQL Load Dataの多様な用途1. LOAD の基本的な背景2. 基本パラメータをロ...

js オプション連鎖演算子の使用

序文オプションの連鎖演算子 (?.) を使用すると、チェーン内の各参照が有効であることを明示的に検証...

MySQLインデックスが失敗するいくつかの状況の分析

1. 最左プレフィックス原則 - 複数の列にインデックスが付けられている場合は、最左プレフィックス原...

LinuxシステムにTomcatをインストールし、サービスの起動とシャットダウンを構成する

Linuxシステムでサービスの起動とシャットダウンを構成する1. コマンドcd /etc/init....

CSSは固定比率のブロックレベルコンテナを簡単に実装できる

H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...

Node.js を使用してパスワード ジェネレータを作成するための完全な手順

目次1. 準備2. コマンドラインの記述2.1 バージョンと説明を追加する2.2 パスワードの長さを...

光沢のある輝くウェブサイトデザインの感動的なデザイン例

このコレクションには、あなたのデザインアイデアにインスピレーションを与える、輝いて光沢のある、優れた...

MySQL でスロークエリを有効にする方法の例

序文スロー クエリ ログは、MySQL で非常に重要な機能です。MySQL のスロー クエリ ログ機...

Vue+Openlayer をベースに geojson を動的に読み込む方法

1つ以上の機能をロードする <テンプレート> <div id="map&...

Nginx 最適化サービスで Web ページ圧縮を実装する方法

リソースを節約するためにWebページの圧縮を設定する1.まず、設定を変更しましょう vim /usr...

HTML 編集の基礎 (初心者必読)

DREAMWEAVER を開き、新しい HTML を作成します。 。ボディの特性: bgcolor...

Unix/Linuxフォークの隠れたオーバーヘッド

目次1. フォークの起源2. 初期のUNIXオーバーレイ技術3. UNIXに導入される前のフォークの...

CSS3は、変換変形とイベントを組み合わせて扇形のナビゲーションを完成させます。

この場合、transition という単語を間違って書いたため、午後中ずっとそれに取り組みました。本...

ネイティブJSで禁止すべきメソッドの記述

目次ブロックレベル関数オブジェクトのプロトタイプを直接変更すると呼び出された人発信者評価ブロックレベ...

HTML テーブルタグチュートリアル (46): テーブルフッタータグ

<tfoot> タグは、テーブル フッターのスタイルを定義するために使用されます。基本構...