jQuery カスタム虫眼鏡効果

jQuery カスタム虫眼鏡効果

この記事の例では、jQueryのカスタム虫眼鏡効果の具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

jQuery プラグインの定義:

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="utf-8">
  <タイトル></タイトル>
  <script src="js/jquery3.6.0.js"></script>
  <スタイル タイプ="text/css">
   div{
    幅: 200ピクセル;
    高さ: 200px;
   }
  </スタイル>
 </head>
 <本文>
  <div></div>
  <div></div>
  <スクリプト>
   // 1. jQuery.fn に基づいて定義された jQuery プラグイン // 2. 名前の競合解決 // 3. jQuery オブジェクト内の各要素をループする // 4. 関数内で、jQuery (this) を返す
   
   (関数($){
    $.fn.extend({
     ランダムカラー:関数(){
      // これは、$selector 関数で選択したすべての要素で構成される疑似配列を参照します。random(){
       var r = Math.floor(Math.random()*256);
       var g = Math.floor(Math.random()*256);
       var b = Math.floor(Math.random()*256);
       
       'rgb('+ r +','+ g +','+ b +')' を返します。
      }
      this.each(関数(インデックス){
       $(これ).css({
        背景色:ランダム()
       })
      })
      これを返します。
     }
    })
   })(jQuery);
   div 要素の値をランダムに選択します。
  </スクリプト>
 </本文>
</html> 

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="utf-8">
  <タイトル></タイトル>
  
  <スタイル タイプ="text/css">
   *{
    マージン: 0;
    パディング: 0;
   }
   .拡大鏡 .左{
    幅: 240ピクセル;
    高さ: 150px;
    フロート: 左;
    位置: 相対的;
   }
   .拡大鏡 .左画像{
    幅: 240ピクセル;
    高さ: 150px;
   }
   .拡大鏡 .左 .マスク{
    幅: 100%;
    高さ: 100%;
    位置: 絶対;
    左: 0;
    上: 0;
    背景色: 黒;
    不透明度: 0.4;
   }
   .拡大鏡 .フロート{
    幅: 50px;
    高さ: 50px;
    背景: ホットピンク;
    不透明度: 0.5;
    位置: 絶対;
    左: 0;
    上: 0;
   }
   .拡大鏡 .右{
    高さ: 200px;
    幅: 200ピクセル;
    背景画像: url(img/2.jpg) ;
    フロート: 左;
    左マージン: 50px;
   }
  </スタイル>
 </head>
 <本文>
  
  <div class="拡大鏡">
   <div class="left">
    <img src="./img/2.jpg" >
    <div class="float">
     
    </div>
    <div class="mask"></div>
   </div>
   <div class="right"></div>
  </div>
  <script src="js/jquery3.6.0.js"></script>
  <スクリプト>
   (関数($){
    $.fn.extend({
     拡大鏡:関数(){
      this.each(関数(){
       var _this_ は、次のようになります。
       $('.left',this).mousemove(関数(evt){
        var x = evt.offsetX;
        var y = evt.offsetY;
        var float=$('.float',this);
        
        x = x-float.width/2;
        y = y-float.height / 2;
        
        x<0の場合{
         0 の場合
        }
        y<0の場合{
         y=0;
        }
        if(x > $(this).width()-float.width()){
         x = $(this).width()-float.width();
        }
        if(y > $(this).height()-float.height()){
         y = $(this).height()-float.height();
        }
        フロート.css({
         左:x,
         トップ:y
        });
        $('.right',その).css({
         背景位置:x*-4+'px' + y*-4+'px'
        })
       }).mouseover(関数(){
        
       }).mouseout(関数(){
        
       })
      });
     }
    })
   })(jQuery)
   拡大鏡
  </スクリプト>
 </本文>
</html>

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

以下もご興味があるかもしれません:
  • JQueryを使用してTaobaoの画像拡大鏡表示効果を模倣する
  • Jqueryプラグイン開発による画像拡大鏡効果(Taobaoを模倣)
  • jQuery 画像拡大機能のサンプルコード
  • Jqzoom jquery 虫眼鏡効果プラグインの使用について
  • jQuery に基づく虫眼鏡効果
  • JQuery で画像拡大鏡効果を実装するためのアイデアとコード (自作)
  • jQuery ベースの製品表示用拡大鏡
  • jQuery は虫眼鏡効果のサンプルコードを実装します
  • jQueryの虫眼鏡効果はとても美しい
  • jQuery を使用して虫眼鏡効果を実装する

<<:  MySQLの暗黙的な変換問題の解決

>>:  Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード

推薦する

MySQL からエクスポートされた scv ファイル内の文字化けやジャンプ行の問題をすばやく解決します

仕事上の理由により、完全なオンライン化(​​つまり、すべてのデータがオンラインで完了し、インポートや...

HTML 要素 (タグ) とその使用法

a : ハイパーリンクの開始位置または宛先位置を示します。頭字語: 単語の最初の文字からなる略語を示...

SpringBoot + Vue プロジェクトを Linux サーバーにデプロイするための詳細なチュートリアル

序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...

iframe を使用して Web ページに他の Web ページを埋め込む方法

iframe の使い方:コードをコピーコードは次のとおりです。 <DIV align=cent...

JS で async await をエレガントに使用する方法

目次jQuery の $.ajax Webpack時代の始まり約束について深く考えるネストをなくすj...

Dockerコンテナ起動時に固定IPを設定する実装

Dockerインストール後のネットワークタイプ [root@insure updev]# docke...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

Vue + OpenLayers クイックスタートチュートリアル

Openlayers は、WebGIS クライアント向けのモジュール式で高性能かつ機能豊富な Jav...

Vue + Axios リクエストインターフェース方式とパラメータ渡し方式の詳しい説明

目次1. リクエストを取得する: 2. 投稿リクエスト: 3. 拡張と補足Vue スキャフォールディ...

MySQL テーブルと列のコメントの概要

コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることが...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

Vueコンポーネントが相互に値を転送する方法の詳細な説明

目次概要1. 親コンポーネントが子コンポーネントに値を渡す2. 子コンポーネントが親コンポーネントに...

nginx リバース プロキシでの proxy_pass の実装

フォーマットはシンプルです: proxy_pass URL; URL には、送信プロトコル (htt...

mysql8.0 パスワードを忘れた場合の修正とネットコマンドのサービス名が無効になる問題

cmdにnet start mysqlと入力すると、プロンプトが表示されます: サービス名が無効です...

Vue命令の実装原理の分析

目次1. 基本的な使い方2. 指示の動作原理2.1. 初期化2.2 テンプレートのコンパイル2.3....