この記事では、淘宝虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 HTMLコード <div class="サムネイル"> <img src="./img/12-1Z930152149 (2).jpg" alt=""> <div class="拡大鏡"></div> </div> <div class="オリジナル"> <img src="./img/12-1Z930152149 (2).jpg" alt=""> </div> <script src="./index.js"></script> CSSコード *{ マージン: 0; パディング: 0; } .サムネイル、.オリジナル{ 幅: 400ピクセル; 高さ: 400px; 境界線: 1px 実線の赤; 位置: 絶対; } 。オリジナル{ 左: 450ピクセル; オーバーフロー: 非表示; 表示: なし; } .サムネイル>画像{ 幅: 400ピクセル; } .オリジナル>画像{ 幅: 800ピクセル; 位置: 絶対; } .拡大鏡{ カーソル: 移動; 幅: 200ピクセル; 高さ: 200px; 背景色:rgba(206, 198, 198, 0.5); 位置: 絶対; 上: 0; 左: 0; 表示: なし; } jsコード // サムネイル サムネイル // オリジナル オリジナル画像 // 拡大鏡 拡大鏡 $(".thumbnail").mouseover(function(){ $(".拡大鏡").表示() $(".オリジナル").表示() }) $(".thumbnail").mousemove(function(ev){ // コンソール.log(ev) // ページに対するマウスの xy 座標 var mx = ev.pageX; var my =ev.pageY; var tx = mx - $(".thumbnail").offset().left var ty = my - $(".thumbnail").offset().top var l = tx -$(".magnifier").width()/2; var t = ty -$(".magnifier").height()/2; var maxX = $(".thumbnail").width() - $(".magnifier").width(); var maxY = $(".thumbnail").height() - $(".magnifier").height() // 境界処理 if( l >maxX){ l = 最大X } if(t >maxY){ t = 最大Y } もし(l <0){ 0 = 0 です } t<0の場合{ t=0 } //虫眼鏡の位置 $(".magnifier").css({ 左: l +"px", 上: t + "px" }) //元の画像の場所$(".original >img").css({ 左:-l*2 +"px", 上:-t*2 +"px" }) }) // マウスが元の画像から離れると虫眼鏡を非表示にします$(".thumbnail").mouseout(function(){ $(".拡大鏡").非表示(); $(".オリジナル").hide(); }) 効果: 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSSを使用して中央に固定された2つの列と適応型列を実現する方法
開発中にこのような要件に遭遇したので、将来使用するために記録しました。需要背景キーボード ショートカ...
コードをコピーコードは次のとおりです。 <meta name="viewport&q...
テーブルを美しくするために、ヘッダーに異なる境界線の色を設定できます。基本的な構文<TH 境界...
「mysqlは内部コマンドではありません」というエラーは、mysqlのbinディレクトリパスが環境変...
この記事はCentOS 7.3システム環境をベースに、MySQLとRedisのインストールと使用につ...
目次序文for文の無限ループを修正while文の無限ループを修正要約する序文Js デッド ループはど...
毎日サービスをチェックしているときに、portainer からコンテナ ログを確認しようとしたところ...
struts2 アクションの実行後にジャンプした jsp が表示されると、css が機能しません。問...
日常業務において、フォームの検証は非常に一般的な設計要件です。ログイン ボックスや登録ボックス、アン...
目次1. インストール要件2. OSイメージのダウンロード3. VMware Workstation...
折りたたみ表示の複数行テキストコンポーネント複数行のテキスト コンポーネントを折りたたんで表示し、展...
目次過去1週間の時間を取得する過去1か月の時間を取得する過去3か月分を取得新しい Date() と ...
フォームは、動的な Web ページを実装するための主要な外部フォームです。フォームとフォーム フィー...
序文ソースコードは合計で 100 行強しかありません。これを読めば、react-dnd などの成熟し...
検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...