轮播图触控滑块的js框架——Swiper

前言

滑窗优点

在现在的前端项目中,主页添加图片滑窗效果是被大部分项目给采用的,有以下原因:

  • 图片滑窗通过水平或垂直滑动的方式展示图片,有效节省了页面空间,使得页面布局更加紧凑,同时不会与页面其他元素发生冲突。
  • 滑窗效果使得图片展示更加动态和吸引人,用户可以通过简单的滑动操作浏览多张图片,增强了用户与页面的交互体验。
  • 相比于传统的静态图片展示,滑窗可以在有限的页面空间内展示更多的图片内容,让用户能够在短时间内获取更多的信息。
  • 滑窗效果可以通过CSS和JavaScript进行高度自定义,包括滑动速度、动画效果、样式等,可以根据项目需求进行灵活调整。
  • 现代浏览器对滑窗效果的兼容性较好,无论是PC端还是移动端,都能实现流畅的效果展示。

自己写滑窗注意项

  • 滑窗效果可能会涉及到大量的DOM操作和计算,因此需要注意性能优化,避免页面卡顿或崩溃。可以通过使用CSS3动画、减少DOM操作、利用事件委托等方式来提高性能。
  • 滑窗效果的设计需要符合用户的使用习惯,提供清晰的导航和反馈。例如,可以添加箭头按钮或指示器来指示当前图片的位置,同时提供便捷的切换方式。
  • 考虑到不同用户群体的需求,滑窗效果需要具备良好的可访问性。例如,可以为图片添加alt属性以提供文本描述,方便视觉障碍用户使用屏幕阅读器访问。
  • 滑窗效果需要适应不同设备和屏幕尺寸的展示需求。可以采用响应式设计方法,根据屏幕宽度自动调整滑窗的布局和样式。

在日常的项目中我们常常会用到滑窗效果,但是每个项目需求的滑窗样式只能说是大相径庭,我们还是需要修改许多的小地方,然后又去调整原来的逻辑。这些操作虽然不难但是还是十分消耗我们的时间这里我介绍一个滑窗库给大家使用,[Swiper演示 - Swiper中文网](swiper.com.cn/demo/index....)

样式实例

下面这些滑窗效果便是使用Swiper库直接实现的:

上面这个滑窗简单,那下面这个呢?

关于Swiper:

Swiper 是一款免费以及轻量级的移动设备触控滑块的js框架,使用硬件加速过渡(如果该设备支持的话)。主要使用于移动端的网站、移动web apps,native apps和hybrid apps。主要是为IOS而设计的,同时,在Android、WP8系统也有着良好的用户体验,Swiper从3.0开始不再全面支持PC端。因此,如需在PC上兼容更多的浏览器,可以选择Swiper2.x(甚至支持IE7)。

使用教程

进入Swiper官方首页,可以研究官方文档

当然身为合格的切图崽,如果你的需求简单也可以是直接入在线演示选择我们需求的窗口。

使用方法

打开新窗口->右键->查看源代码->ctrl+c->回到自己的文件->ctrl+v

正所谓ctrl一下你就得到。

xml 复制代码
xml
复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <title>Swiper demo</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
  <!-- Link Swiper's CSS -->
  <link rel="stylesheet" href="../package/swiper-bundle.min.css" />

  <!-- Demo styles -->
  <style>
    html,
    body {
      position: relative;
      height: 100%;
    }

    body {
      background: #eee;
      font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
      font-size: 14px;
      color: #000;
      margin: 0;
      padding: 0;
    }

    .swiper {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  </style>
</head>

<body>
  <!-- Swiper -->
  <div class="swiper mySwiper">
    <div class="swiper-wrapper">
      <div class="swiper-slide">Slide 1</div>
      <div class="swiper-slide">Slide 2</div>
      <div class="swiper-slide">Slide 3</div>
      <div class="swiper-slide">Slide 4</div>
      <div class="swiper-slide">Slide 5</div>
      <div class="swiper-slide">Slide 6</div>
      <div class="swiper-slide">Slide 7</div>
      <div class="swiper-slide">Slide 8</div>
      <div class="swiper-slide">Slide 9</div>
    </div>
    <div class="swiper-button-next"></div>
    <div class="swiper-button-prev"></div>
  </div>

  <!-- Swiper JS -->
  <script src="../package/swiper-bundle.min.js"></script>

  <!-- Initialize Swiper -->
  <script>
    var swiper = new Swiper(".mySwiper", {
      navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
      },
    });
  </script>
</body>

</html>

Swiper的功能十分强大,同时大家在使用时可以图片懒加载防抖节流等功能配合使用,如果觉得有用,欢迎留言交流。

相关推荐
abc800211703430 分钟前
前端Bug 修复手册
前端·bug
Best_Liu~33 分钟前
el-table实现固定列,及解决固定列导致部分滚动条无法拖动的问题
前端·javascript·vue.js
_斯洛伐克1 小时前
下降npm版本
前端·vue.js
苏十八3 小时前
前端进阶:Vue.js
前端·javascript·vue.js·前端框架·npm·node.js·ecmascript
码农爱java3 小时前
Spring Boot 中的监视器是什么?有什么作用?
java·spring boot·后端·面试·monitor·监视器
st紫月3 小时前
用MySQL+node+vue做一个学生信息管理系统(四):制作增加、删除、修改的组件和对应的路由
前端·vue.js·mysql
乐容4 小时前
vue3使用pinia中的actions,需要调用接口的话
前端·javascript·vue.js
似水明俊德4 小时前
ASP.NET Core Blazor 5:Blazor表单和数据
java·前端·javascript·html·asp.net
至天5 小时前
UniApp 中 Web/H5 正确使用反向代理解决跨域问题
前端·uni-app·vue3·vue2·vite·反向代理
与墨学长5 小时前
Rust破界:前端革新与Vite重构的深度透视(中)
开发语言·前端·rust·前端框架·wasm