前言

在网站开发过程中,优化页面加载速度和提升用户体验是至关重要的。图片懒加载和灯箱效果是两种常见的技术手段,能够有效提升页面性能和用户交互体验。许多UI框架已经内置了这些功能,如果框架没有提供,网上也有很多现成的插件和工具,只需下载并集成到项目中即可轻松实现。

一、图片懒加载

1.1 什么是图片懒加载?

图片懒加载是一种优化网页性能的技术,它通过延迟加载页面上的图片来加快首屏加载速度。这可以显著减少页面的初始加载时间,提升用户体验。

1.2 使用 jQuery LazyLoad 插件

jQuery LazyLoad 是一个轻量级的插件,可以很容易地实现图片懒加载。以下是使用步骤:

1.2.1 引入 jQuery 和 LazyLoad 插件

首先,你需要在页面中引入 jQuery 和 LazyLoad 插件。你可以通过 CDN 引入:

<script src="https://cdn.staticfile.net/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.net/jquery.lazyload/1.9.1/jquery.lazyload.min.js"></script>

1.2.2 修改图片标签

将图片标签的src属性替换为data-original,并在图片标签上添加class="lazy",src属性则是lazyload加载图:

<img src="image.jpg">
# 改为下面
<img class="lazy" src="lazyload_img.gif" data-original="image.jpg">

1.2.3 初始化 LazyLoad

在页面加载完成后,需要初始化 LazyLoad:

$(document).ready(function() {
    $("img.lazy").lazyload({ effect: "fadeIn", threshold: 200 });
});

1.3 懒加载效果

通过以上步骤,你的图片将在用户滚动到它们的位置时才加载,从而提升页面加载速度。
懒加载对比图

二、灯箱效果

2.1 什么是灯箱效果?

灯箱效果是一种在用户点击图片时,图片以弹出窗口的形式显示的技术。它通常用于展示大图或图片集,提供更好的用户体验。

2.2 使用FancyBox5插件

官网:Fancybox,FancyBox是一个功能强大的灯箱插件,支持多种媒体类型,包括图片、视频、iframe 等。以下是使用步骤:

2.2.1 引入FancyBox5

首先,你需要在页面中引入FancyBox5的CSS和JavaScript文件:

<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script>
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css"
/>

2.2.2 修改图片链接

将图片链接包裹在a标签中,并添加data-fancybox属性、如果需要显示标题则添加data-caption属性:

<img src="image.jpg" alt="Image">

# 改为
<a href="image.jpg" data-fancybox data-caption="image_title">
    <img src="image.jpg" alt="Image">
</a>

2.2.3 初始化FancyBox

在页面加载完成后,初始化FancyBox:

$(document).ready(function() {
    Fancybox.bind("[data-fancybox]", {
      dragToClose: false, // 禁用拖动关闭
      wheel: false, // 禁用滚轮缩放
      click: false, // 禁用单击关闭
      dblclick: false, // 禁用双击缩放
      buttons: ["zoom", "fullScreen", "close"], // 只显示缩放、全屏和关闭按钮
  });
});

2.3 灯箱效果

通过以上步骤,用户点击图片时,图片将以灯箱效果显示,提供更好的浏览体验。更多去FancyBox官网:Fancybox
灯箱效果图

三、总结

通过使用jQuery LazyLoad插件和FancyBox5插件,我们可以轻松实现图片懒加载和灯箱效果,从而提升网站的加载速度和用户体验。希望本文对你有所帮助!