沃梦达 / IT编程 / 前端开发 / 正文

jquery 图片Silhouette Fadeins渐显效果

针对“jQuery图片Silhouette Fadeins渐显效果”的实现过程,可以按照以下步骤进行:

针对“jQuery图片Silhouette Fadeins渐显效果”的实现过程,可以按照以下步骤进行:

步骤1:下载jQuery插件

首先需要下载并引入jQuery插件,可以访问以下链接下载:

https://code.jquery.com/jquery-3.2.1.min.js

然后将下载好的jQuery插件文件引入到网站页面中。

示例代码:

<head>
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>

步骤2:添加HTML标记

在页面中添加HTML标记,并给需要添加渐显效果的图片添加class名称。添加的HTML标记可以是

    ,这里我们以

    为例。

    示例代码:

    <div class="wrapper">
      <img class="silhouette" src="image1.jpg" alt="image1">
      <img class="silhouette" src="image2.jpg" alt="image2">
      <img class="silhouette" src="image3.jpg" alt="image3">
    </div>
    

    步骤3:设置CSS样式

    设置CSS样式,用于隐藏图片、设置效果持续时间和透明度等设置。

    示例代码:

    .wrapper {
      display: flex;
      flex-wrap: wrap;
      margin: 0 auto;
      width: 80%;
    }
    
    .silhouette {
      display: block;
      opacity: 0;
      text-align: center;
      transition: opacity 2s;
      width: 33%;
    }
    
    .silhouette.active {
      opacity: 1;
    }
    

    步骤4:添加JavaScript代码

    最后,在页面中添加JavaScript代码,用于实现图片渐显效果。通过添加事件监听,当图片出现在视窗中时,会触发相应的事件,并设置其class为“active”,以触发CSS中设置的渐显效果。

    示例代码:

    $(window).on('load scroll', function() {
      $('.silhouette').each(function() {
        if ($(this).offset().top < $(window).scrollTop() + $(window).height() * 0.75) {
          $(this).addClass('active');
        }
      });
    });
    

    这段代码,当图片出现在视口的前75%时,会将其class设置为“active”,触发CSS中设置的CSS渐显效果。

    示例1:使用jQuery Silhouette Fadeins渐显效果的网站

    下面分享一个使用jQuery Silhouette Fadeins渐显效果的网站:https://www.canada.ca/en.html

    在该网站首页的“Science and innovation”板块中,使用了Silhouette Fadeins渐显效果,让图片渐渐浮现,传达出科学和创新的主题。

    示例2:实际代码演示

    代码演示见下方代码片段,运行后,页面中的图片会在出现视窗后,触发渐显效果。

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>Silhouette Fadeins Demo</title>
      <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
      <style>
        .wrapper {
          display: flex;
          flex-wrap: wrap;
          margin: 0 auto;
          width: 80%;
        }
    
        .silhouette {
          display: block;
          opacity: 0;
          text-align: center;
          transition: opacity 2s;
          width: 33%;
        }
    
        .silhouette.active {
          opacity: 1;
        }
      </style>
      <script>
        $(window).on('load scroll', function() {
          $('.silhouette').each(function() {
            if ($(this).offset().top < $(window).scrollTop() + $(window).height() * 0.75) {
              $(this).addClass('active');
            }
          });
        });
      </script>
    </head>
    
    <body>
      <div class="wrapper">
        <img class="silhouette" src="https://picsum.photos/id/237/300/300" alt="image1">
        <img class="silhouette" src="https://picsum.photos/id/238/300/300" alt="image2">
        <img class="silhouette" src="https://picsum.photos/id/239/300/300" alt="image3">
        <img class="silhouette" src="https://picsum.photos/id/240/300/300" alt="image4">
        <img class="silhouette" src="https://picsum.photos/id/241/300/300" alt="image5">
        <img class="silhouette" src="https://picsum.photos/id/242/300/300" alt="image6">
      </div>
    </body>
    
    </html>
    

本文标题为:jquery 图片Silhouette Fadeins渐显效果