製品の拡大鏡効果を実現する JavaScript

製品の拡大鏡効果を実現する JavaScript

この記事では、参考までに、製品拡大鏡を実装するためのJavaScriptの具体的なコードを紹介します。具体的な内容は次のとおりです。

HTML+CSS部分:

<スタイル>
        。小さい{
            位置: 相対的;
            幅: 400ピクセル;
            高さ: 450px;
            境界線: 1px 実線 #ccc;
        }
        .small画像{
            幅: 100%;
            高さ: 100%;
        }
        .small .mask{
            位置: 絶対;
            左: 0;
            上: 0;
            幅: 300ピクセル;
            高さ: 300px;
            背景色: rgba(0, 255, 0, .2);
        }
        。大きい{
            位置: 絶対;
            左: 450ピクセル;
            上: 8px;
            幅: 550ピクセル;
            高さ: 550px;
            境界線: 1px 実線 #ccc;
            オーバーフロー: 非表示;
            表示: なし;
        }
        .bigimg{
            位置: 絶対;
            左: 0;
            上: 0;
        }
    </スタイル>
 
<本文>
    <div class="small">
        <img src="./img/small.jpg">
        <div class="mask"></div>
    </div>
    <div class="big">
        <img src="./img/big.jpg">
    </div>
</本文>

JS部分:

<スクリプト>
        var small = document.querySelector('.small');
        var マスク = document.querySelector('.mask');
        var big = document.querySelector('.big');
        var bigImg=document.querySelector('.big>img');
        // 大きな画像の幅と高さを取得します。var bigWidth=bigImg.offsetWidth;
        var bigHeight=bigImg.offsetHeight;
 
        // 
        関数move(e){
            var x = e.pageX - this.offsetLeft;
            var y = e.pageY - this.offsetTop;
            コンソールログ(x,y);
            // マスクの位置を移動します var maskHeight = mask.offsetHeight/2;
            var maskWidth = mask.offsetWidth/2;
            mask.style.left = x - maskWidth+'px';
            mask.style.top = y - maskHeight + 'px';
 
        // マスクの移動範囲を制限する // console.log('mask.offsetTop',mask.offsetTop);
            // console.log('mask.offsetLeft',mask.offsetLeft);
            var maxLeft=small.offsetWidth - mask.offsetWidth;
            if(mask.offsetTop<0){
                マスクスタイルトップ=0;
            }
            if(mask.offsetLeft > small.offsetWidth - mask.offsetWidth){
                mask.style.left =maxLeft+'px';
            }
            if(mask.offsetLeft<0){
                マスクスタイル左 = 0;
            }
            if(mask.offsetTop > small.offsetHeight - mask.offsetHeight){
                mask.style.top = small.offsetHeight - mask.offsetHeight + 'px';
            }
 
        // bigImg 大きな画像 大きなボックス 大きな画像の移動 // (bigImg.offsetWidth - big.offsetWidth) / (samll.offsetWidtth - mask.offsetWidth)
        // 大きな画像の最大移動距離 = - マスクの移動距離 * 大きな画像の最大距離 / マスクの最大移動距離 bigImg.style.left = -mask.offsetLeft*(bigImg.offsetWidth - big.offsetWidth) / (small.offsetWidth - mask.offsetWidth)+"px";
            bigImg.style.top = -mask.offsetTop*(bigImg.offsetHeight - big.offsetHeight) / (small.offsetHeight - mask.offsetHeight)+"px";
        }
       
        // 小さい画像上のマスクを移動しますsmall.addEventListener('mousemove',move);
        small.addEventListener('mouseover',function(){
            big.style.display='ブロック';
            mask.style.display='ブロック';
        })
        small.addEventListener('mouseout',function(){
            big.style.display='なし';
            マスクスタイル表示='なし';
        })
</スクリプト>

効果のデモンストレーション:

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

以下もご興味があるかもしれません:
  • js 虫眼鏡拡大画像効果
  • 虫眼鏡の効果を実現するために js を使用する簡単な例
  • JavaScript 画像拡大鏡効果コード [コードは比較的シンプルです]
  • 魔法のJavascript画像拡大鏡
  • JavaScript 画像拡大鏡(ドラッグ アンド ドロップ、ズーム効果)
  • ネイティブ js で記述された虫眼鏡効果
  • 電子商取引サイトでよく使用される js 虫眼鏡効果
  • JavaScript 画像切り取り効果(虫眼鏡)
  • 虫眼鏡アイコンを使用した画像拡大鏡 jquery.jqzoom.js の使用例
  • js画像拡大鏡効果の実装方法を詳しく解説

<<:  MySQL スロークエリログの有効化と設定

>>:  使用場所によって混乱しやすいXHTMLタグ

推薦する

Linux で yum と入力した後に -bash: /usr/bin/yum: No such file or directory という問題を解決する方法

Linuxでyumを入力すると、プロンプトが表示されます: -bash: /usr/bin/yum:...

CSSはクーポンスタイルを実装するために放射状グラデーションを使用します

この記事では、CSS で放射状グラデーションを使用して、次の図に示すクーポン スタイルの効果を実現す...

CentOS インストール mysql5.7 詳細チュートリアル

この記事では、参考までに、centOSにmysql5.7をインストールする詳細な手順を紹介します。具...

Zabbixを使用してOracleテーブルスペースの操作プロセスを監視する

0. 概要Zabbix は非常に強力なオープンソースの監視ツールです。以下では、Zabbix がテー...

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワー...

MySQL コール初心者が犯しがちな 11 の間違いのまとめ

序文セキュリティ部門からSQLインジェクションやXSS攻撃の脆弱性などに関する警告メールを頻繁に受け...

DOCTYPEタイプの詳細な紹介

<br />通常、HTML では次の方法で DOCTYPE を宣言します。 <!D...

JS のオブジェクトリテラルの詳細な説明

目次序文1. オブジェクト構築にプロトタイプを設定する1.1 __proto__ の使用における特殊...

MySQL SQL文を最適化するためのヒント

十分に最適化されていない、またはパフォーマンスが極端に低い SQL ステートメントに直面した場合、通...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

CSV、Excel、SQL ファイルを MySQL にインポートするためのヒント

1. csvファイルをインポートする次のコマンドを使用します。 1.mysql> infile...

CSS の高さの崩壊問題の解決

1. 崩壊度が高いドキュメント フローでは、親要素の高さはデフォルトで子要素によって拡張されます。つ...

クラウド CentOS で Docker リモート サービス リンクを有効にするための実装手順

ここでは、dockerがインストールされたcentosサーバーを紹介し、リモートリンクサービスを開始...

TypeScript での関数オーバーロード

目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...

画像拡大鏡効果のJSバージョン

この記事では、画像拡大鏡効果を実現するためのJSの具体的なコードを参考までに紹介します。具体的な内容...