この記事では、参考までに、シンプルな虫眼鏡を実装するためのJavaScriptの具体的なコードを紹介します。具体的な内容は次のとおりです。 完全なコード: <!DOCTYPE html> <html> <ヘッド> <メタ文字セット="UTF-8"> <title>ES5 拡大鏡</title> <スタイル> 。箱 { 幅: 170ピクセル; 高さ: 180ピクセル; マージン: 100px 200px; 境界線: 1px 実線 #ccc; 位置: 相対的; } 。小さい { 位置: 相対的; } 。大きい { 幅: 300ピクセル; 高さ: 320px; 位置: 絶対; 上: 30px; 左: 220px; オーバーフロー: 非表示; 境界線: 1px 実線 #ccc; 表示: なし; } 。マスク { 幅: 100ピクセル; 高さ: 100px; 背景: rgba(255,255,0,0.3); 位置: 絶対; 上: 0; 左: 0; カーソル: 移動; 表示: なし; } .bigimg{ 位置: 絶対; 左: 0; 上: 0; } </スタイル> </head> <本文> <div class="box" id="box"> <div class="small"> <img src="img/shirt_1.jpg" alt="画像"/> <div class="mask"></div> </div> <div class="big"> <img src="img/shirt_1_big.jpg" alt="画像"/> </div> </div> </本文> <スクリプト> var box = document.getElementById('box'); var small = box.children[0];//小さい画像用のボックス var big = box.children[1];//拡大画像用のボックス var mask = small.children[1];//半透明のマウスがボックスに沿って動きます var bigImage = big.children[0];//大きな画像 small.onmouseover = function(event){ big.style.display = 'ブロック'; mask.style.display = 'ブロック'; } small.onmouseout = 関数(){ big.style.display = 'なし'; マスクスタイル表示 = 'なし'; } //イベントを移動します。マスクの位置はサンプルに相対的であることに注意してください。 small.onmousemove = 関数(イベント){ var event = event || window.event; //イベントオブジェクト // console.log(this.offsetLeft); //0、offsetLeft によって返される距離は、配置された親の左の距離であることに注意してください var x = event.clientX-this.offsetParent.offsetLeft-mask.offsetWidth/2; //ここでは小さい offsetLeft は使用できません。obj offsetLeft を使用してください var y = event.clientY-this.offsetParent.offsetTop-mask.offsetHeight/2; // 半透明のボックスを境界外に制限する if (x < 0) { 0 の場合 }そうでない場合、(x > small.offsetWidth - mask.offsetWidth){ x = small.offsetWidth - mask.offsetWidth; } y < 0 の場合{ y = 0; }そうでない場合(y > small.offsetHeight - mask.offsetHeight){ y = small.offsetHeight - mask.offsetHeight; } mask.style.left = x + "px"; マスクスタイルのトップ = y + "px"; // 大きな画像を拡大します bigImage.style.left = -x*big.offsetWidth/small.offsetWidth + 'px'; bigImage.style.top = -y*big.offsetHeight/small.offsetHeight + 'px'; //big.offsetWidth/small.offsetWidth は拡大率です //マウスは小さい画像の場合は下に、大きい画像の場合は上に移動するため、負の数が使用されます} </スクリプト> </html> 写真: 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: docker nginxコンテナの起動とローカルへのマウントの詳細な説明
>>: MySQL における SQL ページングクエリのいくつかの実装方法と利点と欠点
目次Jenkinsのインストールインストールポート番号を変更します(デフォルトのポートは8080です...
この記事では、WeChatアプレットの具体的なコードを参考までに共有します。具体的な内容は次のとおり...
<br />解決手順は次のとおりです。スタート -> 実行 -> reged...
目次序文プロジェクトを初期化するデザインコードの実装オンデマンドロードオーディオを再生録音長押しイベ...
MySQL 5.7.9 のインストールチュートリアルを録画してみんなと共有しましょう環境の紹介:オペ...
1. 新しいディスクを準備し、現在のルートパーティションと同じファイルシステムでフォーマットし、ディ...
目次1. MySQLの関数の説明2. 単行関数の分類3. キャラクター機能4. 数学関数5. 日付と...
Robots.txt はプレーンテキスト ファイルであり、Web サイト管理者は、ロボットによるアク...
目次PXEはサーバーの無人バッチ展開を実装します1. PXEの概要1.1 PXEとは何か1.2 キッ...
1994 年に設立された組織である W3C は、共通プロトコルの開発を促進し、それらの相互運用性を確...
概要リレーショナル データベースでは、インデックスは、データベース テーブル内の 1 つ以上の列の値...
開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...
目次01 GTIDの紹介02 GTIDの仕組み03 GTIDの利点と欠点04 テスト環境構築05 テ...
序文多くのサイトが、ポイントやゴールドコインなど、情報のダウンロードに料金を請求していることは誰もが...
トイ・ストーリー3 オンラインマーケティングウェブサイトゼンモバイル鉄から鉄へスプラウトファンドバー...