達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示され、離れるとマスク レイヤーが非表示になることです。 CSS のカーソル https://www.runoob.com/cssref/pr-class-cursor.html マウスの次の効果を実現する方法: (子は父とまったく同じ) 絶対配置 + 上部と左を変更して動きを制御する @vueuseには、ツールメソッドがあります: useMouseInElement <テンプレート> <div ref="ターゲット"> <h1>こんにちは世界</h1> </div> </テンプレート> <スクリプト> 'vue' から { ref } をインポートします '@vueuse/core' から { useMouseInElement } をインポートします。 エクスポートデフォルト{ 設定() { 定数ターゲット = ref(null) const { x, y, isOutside } = useMouseInElement(ターゲット) {x, y, isOutside} を返す } } </スクリプト> これはVueUse公式サイトでの使い方です。最後に、 return { target }を忘れないようにしてください。冒頭でreturn targetをしていなかったため、x、y、isOutsideの値が0、0、falseとなり、値が変わっていませんでした。 マウスの位置とマスクの位置の関係: <div class="layer" :style="layerStyle"></div> //これはマスクレイヤーです setup(){ //これはマウスを実装するためのコードです const layerStyle = reactive({ 上: '0px'、 左: '0px' }) // 3つの値の変化を監視し、最初のパラメータを配列watch([elementX, elementY, isOutside], () => {で監視します // レイヤースタイル.left = 要素X.value / 2 + 'px' // レイヤースタイル.top = 要素Y.値 / 2 + 'px' 上 = 要素Y.値 - 100 とします 左 = 要素X.値 - 100 // マスク要素に位置を割り当てる if (top < 0) top = 0 (トップ > 200) トップ = 200 (左 < 0)の場合、左 = 0 (左 > 200)の場合、左 = 200 レイヤースタイル.top = 上 + 'px' レイヤースタイル.left = 左 + 'px' }) 戻り値: { elementX, elementY, isOutside, target, layerStyle } } マスク領域は、左側の親ボックスを超えることはできません。上記の 2 行のコードはコメントアウトされています。なぜ一緒に記述できないのでしょうか。後で判断を追加する必要がある場合、判断の後に px を追加すると、どこから始めればよいか分からなくなるからです。上記のように別々に記述すると、top と left は単なる値になります。計算が完了したら、単位を追加します。 増幅効果を実現する方法: CSSスタイルにはbackground-size属性があります。最初のパラメータは幅、2番目のパラメータは高さを表します。画像を拡大することができます。 元のサイズは400*400なので、2倍にすると800*800になります CSSスタイルのbackground-position-xとbackground-position-yは指定された領域を拡大することができる background-positionについて: x,y 最初の値は水平位置、2番目の値は垂直位置です 右側の div にズーム効果を適用します。 <div class="large" :style="{ backgroundImage:`url(${images[current]})`,...largeStyle }"></div> これは CSS コードです。参照できます: 。大きい { 位置: 絶対; 上: 0; 左: 412px; 幅: 400ピクセル; 高さ: 400px; ボックスの影: 0 0 10px rgba(0,0,0,0.1); 背景繰り返し: 繰り返しなし; 背景サイズ: 800px 800px; 背景色: #f8f8f8; } 最後に:マウスが左のボックス領域から外れると、マスクは非表示になり、右側の拡大されたボックスも非表示になります。 useMouseInElementのisOutSideプロパティは、監視要素を超えているかどうかを検出できます。v-show="!isOutSide"を使用するだけです。 Vue3.0独自の虫眼鏡効果の事例紹介はこれで終了です。Vue3.0の虫眼鏡効果に関するより関連性の高いコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CentOS 7 は Hadoop 2.10 の高可用性 (HA) をビルドします
目次序文インタフェースタイプ付録: インターフェースとタイプの違い要約する序文インターフェースとタイ...
1. ネイティブネットワークリクエスト1. XMLHttpRequest (W3C 標準) // 約...
序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...
MySQL 5.7 をインストールするには 2 つの方法があります。1 つはインストーラをダウンロー...
MySQLへの接続ここでは、リモート接続に navicat を使用します。MySQL に接続する前に...
目次背景成し遂げる1. カプセル化された /utils/dialogControl.js 2.ダイア...
背景グラデーションと自動フルスクリーンに関する CSS の問題編集長は CSS の開発中に致命的な問...
1. 外部CSSファイルの基本スタイルをインポートする<link> タグを使用して外部ス...
目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...
プロジェクトのテーマがすべての人の美的感覚を満足できないこともあります。このとき、スキン変更機能は非...
仮想化とコンテナ化は、クラウドベースのプロジェクトでは避けられない 2 つの問題です。仮想化は純粋な...
序文元のプロジェクトは、パブリックネットワークgitlabに配置されていました。セキュリティ上の理由...
mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...
1. シェルスクリプトを作成する vim バックアップdb.sh 次のようにスクリプトを作成します。...
FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画...