この記事の例では、虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 スタイル表示:アイデアまず、小さい写真と大きい写真の2つの写真を用意します。2つの写真は整数比を持ちます。 小さな画像の上に虫眼鏡スタイルを設定し、背景を透明色に設定します 親要素を大きな画像の外側に配置し、親要素を超える場合は非表示にします。サイズは、拡大部分が収まる程度にしてください。親要素と虫眼鏡スタイルの比率 = 大きな画像と小さな画像の比率。 マウスが小さい画像上で移動すると、マウスの座標を取得し、小さい画像上でのマウスの座標を取得し、対応する比率に従って大きい画像の座標を計算し、拡大された部分が親要素の可視範囲内になるように大きい画像を移動します。 コード1.html部分 <div id="ボックス"> <!-- toBig は虫眼鏡要素です --> <div id="toBig"></div> <!-- 小さい画像 --> <img src="img/05.jpg" id="smallImg" width="800px"> </div> <div id="beBig"> <!-- 大きな画像、比率は 1.5 倍 --> <img src="img/05.jpg" id="bigImg" width="1200px"> </div> 2.cssスタイル部分 *{ マージン: 0px; パディング: 0px; } #箱{ 位置: 相対的; フロート: 左; } #toBig{ 幅: 80ピクセル; 高さ: 80px; 境界線: 1px の灰色 背景色: 透明; 位置: 絶対; } #大きくなろう{ フロート: 左; オーバーフロー: 非表示; 境界線: 1px の灰色 位置: 相対的; 左: 40px; 上:325ピクセル; } #bigImg{ 位置: 絶対; } 3. スクリプト部分 <script type="text/javascript"> // 小さい画像、大きい画像、虫眼鏡要素、大きい画像の親要素を取得します。var smallImg = document.querySelector("#smallImg"); var bigImg = document.querySelector("#bigImg"); var toBig=document.querySelector("#toBig"); var beBig=document.querySelector("#beBig"); /*ページが読み込まれたときに小さい画像と大きい画像の比率を計算します*/ var q = 0; window.onload = 関数(){ q=bigImg.offsetWidth/smallImg.offsetWidth; // 虫眼鏡の幅、高さ、比率に基づいて、表示される拡大コンテンツのサイズを計算します。beBig.style.width = toBig.clientWidth * q + "px"; beBig.style.height = toBig.clientHeight * q + "px"; } // 虫眼鏡要素の中心を取得し、マウスが虫眼鏡の中心にあることを確認します var xCenter=toBig.clientWidth/2; var yCenter=toBig.clientHeight/2; // フラグは記号です。マウスが押されると true になり、移動できます。flag=false; toBig.onmousedown = 関数(){ フラグ=true; } toBig.onmouseup = 関数(){ フラグ=false; } window.onmousemove=関数(ev){ var ev = ev || window.event; //フラグがtrueの場合、虫眼鏡要素は押されてドラッグできます if (flag) { //マウスの現在の位置を取得し、要素自体に加えて移動する位置を計算します var mouseX=ev.clientX,mouseY=ev.clientY; var trueX = mouseX-xCenter; //虫眼鏡要素が小さい画像の範囲を超えているかどうかを判断します。if (trueX < smallImg.offsetLeft) { trueX = smallImg.offsetLeft; } trueX > smallImg.clientWidth - toBig.offsetWidth の場合{ trueX = smallImg.clientWidth - toBig.offsetWidth; } var trueY=mouseY - yCenter; trueY <= smallImg.offsetTopの場合{ trueY = 小さい画像の上端オフセット; } trueY が smallImg.clientHeight - toBig.offsetHeight の場合 { trueY = smallImg.clientHeight - toBig.offsetHeight; } // 小さい画像が移動するBig.style.left = trueX + "px"; toBig.style.top = trueY + "px"; コンソールにログ出力します。 // 大きな画像を移動する位置 bigImg.style.left =-(trueX * q) + "px"; bigImg.style.top = -(trueY * q) + "px"; } } </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: マークアップ言語 - Web アプリケーション CSS スタイル
>>: Docker デプロイメント RabbitMQ コンテナ実装プロセス分析
次のような疑問が湧くかもしれません。MySQLをローカル (自分のコンピュータ) にインストールした...
MGR (MySQL グループ レプリケーション) は、バージョン 5.7 で追加された新しい機能...
環境要件: IPホスト名192.168.1.1ノード1プロジェクト計画:コンテナネットワークセグメン...
目次1. プロトタイプとは何ですか? 1.1 関数プロトタイプオブジェクト1.2 コンストラクタを使...
目次ネスティング親子コンポーネント通信ブラザーコンポーネント通信撤回するReact の Linked...
この記事では、jsで簡単な計算機を作成する具体的なコードを参考までに共有します。具体的な内容は次のと...
この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...
table タグと td タグに境界線を追加すると、デフォルトでは次のように二重境界線が使用されます...
mysql を構成するときに、構成ファイル内のデフォルトのストレージ エンジンを InnoDB に設...
オープンソース データベース アーキテクチャの設計原則01. 技術の選択最も使い慣れていて、最大限に...
目次1. テンプレート文字列とは何ですか? 2. 複数行のテンプレート文字列2.1 式付きテンプレー...
crontab コマンドは、Unix および Linux で定期的な実行命令を設定するために使用され...
vertical-align属性は、主にインライン要素の配置を変更するために使用されます。インライン...
1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...
この記事では、例を使用して MySQL カスタム関数の使用方法を説明します。ご参考までに、詳細は以下...