jsはショッピングサイトの虫眼鏡機能を実現します

jsはショッピングサイトの虫眼鏡機能を実現します

この記事では、ショッピングサイトの虫眼鏡機能を実現するためのjsの具体的なコードを紹介します。具体的な内容は次のとおりです。

まず効果図を見てみましょう:

まずレイアウトですが、左側にマウス移動フレームを含む小さなフレーム、右側に拡大フレームがあります。

<div class="box">
        <div class="small">
            <img src="small3.jpg" alt="">
            <div class="move"></div>
        </div>
        <div class="big">
            <img src="big3.jpg" alt="">
        </div>
</div>

CSSを書く

。小さい{
    位置: 相対的;
    フロート: 左;
    幅: 450ピクセル;
    高さ: 450px;
    境界線:1px実線 #000;
}
.small .move{
    位置: 絶対;
    トップ:0;
    幅: 300ピクセル;
    高さ: 300px;
    背景色: rgba(0,0,0,0.4);
    カーソル:移動;
    表示: なし;
}
。大きい{
    位置: 相対的;
    フロート: 左;
    幅: 540ピクセル;
    高さ: 540px;
    左マージン: 20px;
    オーバーフロー: 非表示;
    境界線:1px実線 #000;
    表示: なし;
}
.bigimg{
    位置: 絶対;
    トップ:0;
    左: 0;
}

js部分:

var box=document.getElementsByClassName('box')[0],small=box.getElementsByClassName('small')[0],move=small.getElementsByClassName('move')[0],smallImg=small.getElementsByTagName('img')[0],big=box.getElementsByClassName('big')[0],bigImg=big.getElementsByTagName('img')[0];
    //まず、必要な要素をすべて取得します。small.onmouseover=function(){
        move.style.display='ブロック';
        big.style.display="ブロック";
    };
    small.onmouseout=関数(){
        移動スタイルの表示='なし';
        big.style.display="なし";
    };
    small.onmousemove=関数(e){
        e=e||window.event; //互換性に関する考慮事項 var x=e.clientX-smallImg.getBoundingClientRect().left-move.offsetWidth/2;
        var y=e.clientY-smallImg.getBoundingClientRect().top-move.offsetHeight/2;
        x<0の場合{
            0 の場合
        }
        if(x>smallImg.offsetWidth-move.offsetWidth){
            x = smallImg.offsetWidth-move.offsetWidth;
        }
        y<0の場合{
            y=0;
        }
        if(y>smallImg.offsetHeight-move.offsetHeight){
            y = smallImg.offsetHeight - move.offsetHeight;
        }
        move.style.left=x+"px";
        移動スタイルトップ=y+"px";
        //マウスの動きに合わせて左に移動するブロックを実装するコード var scale = bigImg.offsetWidth/smallImg.offsetWidth;
        //比率に応じて拡大します bigImg.style.left='-'+x*scale+'px';
        // 画像を左と上に移動する必要があるため、マイナス記号を追加する必要があります bigImg.style.top='-'+y*scale+'px';
    }

虫眼鏡効果を実現!

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

以下もご興味があるかもしれません:
  • 画像拡大鏡効果のJSバージョン
  • jsを使用してシンプルな虫眼鏡効果を実現します
  • js を使ってシンプルな虫眼鏡効果を実現
  • js 虫眼鏡拡大画像効果
  • 虫眼鏡の効果を実現するために js を使用する簡単な例
  • JavaScript 画像拡大鏡効果コード [コードは比較的シンプルです]
  • 魔法のJavascript画像拡大鏡
  • JavaScript 画像拡大鏡(ドラッグ アンド ドロップ、ズーム効果)
  • ネイティブ js で記述された虫眼鏡効果
  • シンプルな虫眼鏡効果を実現するJavaScript

<<:  MySQL マルチテーブル共同クエリ操作例の分析

>>:  Windows 10 でカスタムドメイン名をバインドするように Hexo と GitHub を構成する方法

推薦する

背景画像にテキストを表示するためのCSS

効果: <div class="imgs"> <!-- 背景画...

最も完全な 50 の MySQL データベース クエリ演習

このデータベース クエリ ステートメントは、インターネット上の 50 個のデータベース クエリ練習問...

nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明

前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

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

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

Linux カーネルの探究: Kconfig の秘密

Linux 構成/ビルド システムがどのように機能するかを深く理解します。 Linux カーネル構成...

MySQL 8.0.18 のインストールと設定のグラフィックチュートリアル

学習目標: Windowsシステムを使用してMySQLデータベースをインストールする方法を学びます。...

CSS3 での 2D および 3D 変換の実装

CSS3 は、要素の 2D 平面変換と視覚的な 3D 空間変換を実装します。2D 変換はより頻繁に使...

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

LinuxでのDNSサーバーの設定の詳細な説明

1. DNSサーバーの概念インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する...

nginxでgzip圧縮を有効にする手順を完了する

目次序文1. gzip圧縮を設定する2. 詳細設定3. nginxサービスを再起動する要約する序文ウ...

@font-face を使用して Web ページに特殊文字を実装する (カスタム フォントを作成する)

数日前、CSS を使用して三角形の矢印を実装する方法について記事を書きました。 目的の効果は達成され...

MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。

マスタースレーブレプリケーションがなぜ必要なのでしょうか? 1. 複雑な業務システムでは、SQL 文...

IE6 での PNG アルファ透明度 (完全コレクション)

IE6 は PNG の透明度をサポートしていないと多くの人が言っています。実際、IE は 100%...

MySQL ストアド プロシージャ (in、out、inout) の詳細な説明

1. はじめにバージョン 5.0 以降でサポートされています。特定の機能を実行するための SQL ス...