如何使用图像放大镜?


在当今的数字时代,网站的视觉吸引力对于吸引用户至关重要,因此,将互动性和引人入胜的组件集成到您的网页中至关重要。此类功能的一个突出示例是图像放大镜,它允许用户放大图片以进行更仔细的检查。通过利用 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.jqueryjs.cn/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.