JavaScript が Taobao の虫眼鏡効果を模倣

JavaScript が Taobao の虫眼鏡効果を模倣

この記事では、淘宝虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

HTMLコード

 <div class="サムネイル">
        <img src="./img/12-1Z930152149 (2).jpg" alt="">
        <div class="拡大鏡"></div>
    </div>
    <div class="オリジナル">
        <img src="./img/12-1Z930152149 (2).jpg" alt="">
    </div>
<script src="./index.js"></script>

CSSコード

*{
            マージン: 0;
            パディング: 0;
        }
        .サムネイル、.オリジナル{
            幅: 400ピクセル;
            高さ: 400px;
            境界線: 1px 実線の赤;
            位置: 絶対;
        }
        。オリジナル{
            左: 450ピクセル;
            オーバーフロー: 非表示;
            表示: なし;
        }
        .サムネイル>画像{
            幅: 400ピクセル;
        }
        .オリジナル>画像{
            幅: 800ピクセル;
            位置: 絶対;
        }
        .拡大鏡{
            カーソル: 移動;
            幅: 200ピクセル;
            高さ: 200px;
            背景色:rgba(206, 198, 198, 0.5);
            位置: 絶対;
            上: 0;
            左: 0;
            表示: なし;
            
        }

jsコード

// サムネイル サムネイル // オリジナル オリジナル画像 // 拡大鏡 拡大鏡 $(".thumbnail").mouseover(function(){
    $(".拡大鏡").表示()
    $(".オリジナル").表示()
})
$(".thumbnail").mousemove(function(ev){
    // コンソール.log(ev)
    // ページに対するマウスの xy 座標 var mx = ev.pageX;
    var my =ev.pageY;
    
    var tx = mx - $(".thumbnail").offset().left
    var ty = my - $(".thumbnail").offset().top


    var l = tx -$(".magnifier").width()/2;
    var t = ty -$(".magnifier").height()/2;

    var maxX = $(".thumbnail").width() - $(".magnifier").width();
    var maxY = $(".thumbnail").height() - $(".magnifier").height()

    // 境界処理 if( l >maxX){
        l = 最大X
    }
    if(t >maxY){
        t = 最大Y
    }
    もし(l <0){
        0 = 0 です
    }
    t<0の場合{
        t=0
    }

    //虫眼鏡の位置 $(".magnifier").css({
        左: l +"px",
        上: t + "px"
    })

    //元の画像の場所$(".original >img").css({
        左:-l*2 +"px",
        上:-t*2 +"px"
    })
})
// マウスが元の画像から離れると虫眼鏡を非表示にします$(".thumbnail").mouseout(function(){
    $(".拡大鏡").非表示();
    $(".オリジナル").hide();

})

効果:

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

以下もご興味があるかもしれません:
  • Javascript サンプル プロジェクトでの虫眼鏡効果の実装プロセス
  • JavaScript で虫眼鏡の特殊効果を実現
  • JavaScript が Jingdong の虫眼鏡の特殊効果を模倣
  • 虫眼鏡ケースのJavaScriptオブジェクト指向実装
  • JavaScript が Jingdong の虫眼鏡効果を模倣
  • 虫眼鏡効果を実現するJavaScript
  • js で虫眼鏡効果を実現するためのアイデアとコード
  • 虫眼鏡の詳細のJavaScript実装

<<:  CSSを使用して中央に固定された2つの列と適応型列を実現する方法

>>:  Docker Machineの詳細な説明

推薦する

PostgreSQL データベースにおける varchar、char、text の比較に関する簡単な説明

以下のように表示されます。名前説明する文字可変(n)、varchar(n)長さ制限あり、可変長文字(...

MySQL Bツリーインデックスとインデックス最適化の概要についての簡単な説明

MySQL の MyISAM エンジンと InnoDB エンジンはどちらもデフォルトで B+ ツリー...

UbuntuにProtobuf 3をインストールするための詳細なチュートリアル

いつインストールするかprotoc コマンドを使用しても Protoc が見つからない場合は、インス...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

MySQL explain クエリ命令情報の取得原理と例

explain はクエリ実行プラン情報を取得するために使用されます。 1. 文法次のように、sele...

Webフロントエンドスキル概要(個人の実務経験)

1. 今日、ページを作っているときに、矢印を中央に配置する効果に遭遇しました。クリック領域を大きくし...

ルート権限なしでログインするためのDockerソリューション

docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

Expressはログイン認証を実装

この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...

AngularパイプラインPIPEの紹介と使い方

序文PIPE、パイプラインと翻訳されます。 Angular パイプは、HTML コンポーネントで宣言...

表のセルの内容が超過した場合に省略記号効果を表示する(実装コード)

例示するフロントエンド開発では、セルの幅を制限し、コンテンツが制限を超える部分に省略記号を表示する必...

Dockerfile 内の予約語命令の解析処理

目次1. Dockerfile とは何ですか? 2. Dockerfile構築プロセスの分析3. D...

Vue のキーボードイベント監視の概要

キー修飾子キーボード イベントをリッスンする場合、詳細なキーを確認する必要があることがよくあります。...

Linuxシステムの操作レベルの詳細な紹介

目次1. Linuxシステムの操作レベルの概要2. 実行レベルを確認する3. 現在のシステムの動作レ...