如何使用影像放大鏡?


在當今的數字時代,網站的視覺吸引力對於吸引使用者至關重要,因此,將互動性和引人入勝的元件整合到您的網頁中至關重要。此類功能的一個突出示例是影像放大鏡,它允許使用者放大圖片以進行更仔細的檢查。透過利用 HTML 和 CSS 的強大功能,可以構建一個簡單但功能強大的影像放大鏡,從而增強使用者體驗併為您的網站增添一抹精緻感。本文將闡述建立影像縮放工具所需步驟和方法,使用 HTML 和 CSS,使您具備將此功能融入您自己的網頁的技術專長。

方法

我們將在本文中介紹兩種不同的方法。它們如下所示:

  • 懸停/跟隨縮放效果

  • 放大鏡效果

方法 1:懸停/跟隨縮放效果

懸停縮放技術是一種影像處理方法,它涉及放大影像的一部分,而無需使用透明疊加層。此效果僅使用 CSS 和 JavaScript 即可實現,無需任何其他工具或軟體。

示例

以下是我們將在本示例中詳細介紹的完整程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
   <title>How to create image magnifier using?</title>
   <style>
      body {
         display: flex;
         justify-content: center;
         align-items: center;
         flex-direction: column;
      }
      .main {
         display: flex;
      }
      .main img {
         cursor: zoom-in;
      }
      .zoom-preview {
         height: 300px;
         width: 300px;
         border: 1px solid #000;
         margin-left: 20px;
         background-repeat: no-repeat;
      }
   </style>
</head>
<body>
   <h4>How to create image magnifier using?</h4>
   <div class="main">
   <img src="https://picsum.photos/300" id="image"
   height="300px" width="300px" />
   <div class="zoom-preview"></div>
   </div>
   <script>
      const img = document.getElementById("image");
      const preview = document.querySelector(".zoom-preview");
      const calculateRatio = (value) => preview.offsetWidth / value;
      const x = calculateRatio(100);
      const y = calculateRatio(100);
      const setBackgroundProperties = (posX, posY) => {
         preview.style.backgroundImage = `url(${img.src})`;
         preview.style.backgroundSize = `${img.width * x}px ${img.height * y}px`;
         preview.style.backgroundPosition = `-${posX * x}px -${posY * y}px`;
      };
      img.addEventListener("mousemove", (e) => {
         const posX = e.offsetX;
         const posY = e.offsetY;
         setBackgroundProperties(posX, posY);
      });
      img.addEventListener("mouseout", () => {
         preview.style.backgroundImage = "none";
      });
   </script>
</body>
</html>

方法 2:放大鏡效果

此技術產生的視覺效果可以比作透過半透明玻璃看到的影像擴充套件區域的檢視。為了產生這種效果,我們實現了 jQuery Magnify 外掛。此外掛是一個輕量級工具,使我們能夠輕鬆地將縮放功能整合到影像中。對於電子商務網站(需要顯示產品影像)或網站訪問者需要放大影像而不會妨礙帶有其他疊加層或彈出視窗的文字可見性的情況,這是一個特別有用的功能。

示例

以下是我們將在本示例中詳細介紹的完整程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/magnify/2.3.3/css/magnify.min.css"/>
   <style>
      body {
         display: flex;
         justify-content: center;
         align-items: center;
         flex-direction: column;
      }
      img{
         width: 300px;
         height: 300px;
      }
   </style>
</head>
<body>
   <h4>How to create image magnifier using?</h4>
   <img src="https://cdn.pixabay.com/photo/2012/12/27/19/40/chain-link-72864_960_720.jpg" class="zoom"
   data-magnify-src="https://cdn.pixabay.com/photo/2012/12/27/19/40/chain-link-72864_960_720.jpg" />
   <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/magnify/2.3.3/js/jquery.magnify.min.js"></script>
   <script>
      $(document).ready(function () {
         $(".zoom").magnify();
      });
   </script>
</body>
</html>

結論

總而言之,使用 CSS 和 JavaScript 構建影像放大鏡是一種簡單但功能強大的方法,可以為您的網頁注入一絲活力。透過遵循本文中概述的程式,您可以輕鬆地在您自己的影像上執行此效果,並增強其對使用者的吸引力。您可以自由修改影像放大部分的大小和位置,從而為您的網站訪客創造獨特的動態參與體驗。此外,此技術不需要額外的軟體或工具,使其成為一種經濟高效且有效的解決方案。透過掌握此技術,您可以為您的 Web 開發技能庫增添另一項技能,並將您的設計提升到新的高度。

更新於: 2023年7月14日

776 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.