この記事では、ショッピングサイトの虫眼鏡機能を実現するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Windows 10 でカスタムドメイン名をバインドするように Hexo と GitHub を構成する方法
目次序文バブルソート基本アルゴリズム2 番目の書き方は、基本的なアルゴリズムに基づいて改良されていま...
文法:背景画像: 円錐グラデーション(位置の角度から、開始色、...、最後の色)最初のパラメータ:開...
目次トリガーとは何かトリガーを作成する複数の実行ステートメントを持つトリガーの作成制限と考慮事項要約...
[LeetCode] 177. 最も高い給与従業員テーブルからn番目に高い給与を取得する SQL ...
表は以下のとおりです。 HTMLソースコード結果を表示説明する< <未満記号また...
コード効果を異なるブラウザで表示することはよくあることなので、異なるショートカットキーを使用して対応...
シンプルなリストビュー効果を実現するHTML結果: CSS スタイル ファイル listviewTe...
Zabbix カスタム スクリプトを使用して監視データを収集する場合、通常、次の問題が発生します。サ...
目次1. 概要2. Keepalivedを使用してNginxを自動的に再起動する2.1 シェルスクリ...
Nginx ログの説明アクセス ログを通じて、ユーザーの地理的起源、ジャンプ元、使用端末、特定の U...
この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...
プロジェクトの作業を開始するときは、ワイヤーフレームを使用してアイデアをスケッチすることが重要です。...
目次Vue が DOM を非同期更新する原理1 実際の DOM 要素を取得できるのはいつですか? 2...
1. Linuxネットワーク構成ネットワークを構成する前に、まずローカル IPv4 アドレスやデフォ...
1. ユーザーを追加します。まず、adduser コマンドを使用して共通ユーザーを追加します。コマン...