vant swipe 三图一屏

【Vue3+Ts project】vant4 swipe组件实现 左右滑动滑块效果 swipe组件实现左右滑动 阅读详情

效果图:

需求:

老师布置作业让大伙跟着b站的一个up做一个网易云音乐首页,up用的vue-awesome-swiper做轮播图,我用的vant,在做到“发现好歌单”模块的时候发现vant没有一屏显示多图的效果,于是自己魔改了一些样式凑合一下

思路:

改轮播组件overflow: hiddle为visible,设置轮播组件的宽为三分之一屏宽,轮播组件外包裹一个大盒子overflow: hiddle

代码:

<template>
  <div class="musicList">
    <div class="musicList-top">
      <div class="title">发现好歌单</div>
      <div class="more">查看更多</div>
    </div>
    <van-swipe
      style="width: 2.3rem"
      class="musicList-content"
      :loop="true"
      :show-indicators="false"
      :autoplay="3000"
    >
      <van-swipe-item
        style="margin: 0 0.15rem"
        v-for="(item, key) in mList"
        :key="key"
      >
        <div class="musicList-swipe-item">
          <img class="item-img" :src="item.picUrl" alt="" />
          <p class="item-text">{{ item.name }}</p>
          <p class="item-play-count">
            <svg class="icon" aria-hidden="true">
              <use xlink:href="#icon-bofang1"></use>
            </svg>
            {{ getPlayCount(item.playCount) }}
          </p>
        </div>
      </van-swipe-item>
    </van-swipe>
  </div>
</template>

<script>
import { defineComponent, ref, onMounted } from "vue";
import { getMusicList } from "@/service/api";

export default defineComponent({
  setup() {
    let mList = ref([])
    const getPlayCount = (playCount) => {
      if (playCount >= 10000000) return (playCount / 10000000).toFixed(2) + "亿"
      else if (playCount >= 10000) return (playCount / 10000).toFixed(2) + "万"
      return playCount
    }
    onMounted(() => {
      getMusicList().then((res) => {
        mList.value = res.data.result
        console.log(mList)
      });  
    })
    return {
      mList,
      getPlayCount
    }
  }
});
</script>

<style lang="less" scoped>
.musicList {
  width: 7rem;
  margin: 0 auto;
  overflow: hidden;
  .musicList-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.1rem;
    .title {
      font-weight: 800;
    }
    .more {
      border: 0.01rem solid #aaa;
      border-radius: 0.1rem;
      padding: 0.07rem;
      font-size: 0.2rem;
    }
  }
  .musicList-content {
    .musicList-swipe-item {
      position: relative;
      .item-img {
        width: 100%;
        border-radius: 0.1rem;
        height: auto;
      }
      .item-text {
        font-size: 0.2rem;
        font-weight: 500;
      }
      .item-play-count {
        .icon {
          width: 0.16rem;
          height: 0.16rem;
          fill: #ccc;
          margin-right: 0.05rem;
        }
        position: absolute;
        top: 0.2rem;
        right: 0.1rem;
        font-size: 0.16rem;
        color: #ccc;
      }
    }
  }
}
/deep/ .van-swipe {
  overflow: visible;
  width: 7.5rem;
}
</style>

总结:

这个思路比较简单,缺点是要自己慢慢调样式比较麻烦,如果加上指示器小圆点还要自己调整指示器的样式,自动轮播循环播放的时候也有bug,后面两个图会显示不出来,以后有缘再改吧!

van-swipe 自定义左右切换按钮 【代码】van-swipe 自定义左右切换按钮。 阅读详情

相关推荐

vant-swipe自适应图片高度+图片预览

vant-swipe自适应图片高度+图片预览

GTbond的博客 4337

vue2+vant+h5中轮播图van-swipe指示器样式更改

vue2+vant+h5中轮播图van-swipe指示器样式更改

Jolly_zhang的博客 2390

Maven的下载安装配置教程(详细图文)

目录 一、简单了解一下什么是Maven 二、maven的下载 三、maven的安装 四、maven的环境变量配置 五、setting文件配置 六、开发工具配置Maven 一、简单了解一下什么是Maven Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。 1.Maven翻译为“专家“, ”内行”的意思,是著名Apache公司下基于Java开发的开源项目。 2.Maven项目对象模型(POM)是一..

bakelFF的博客 12万+

van-swipe 组件无法轮播

van-swipe 组件无法轮播

yao0924的博客 1108

BALM2深度解析 | 港大MARS实验室如何用点簇革新激光BA?

本文深度解析了港大MARS实验室提出的BALM2方案如何通过点簇技术革新激光BA(Bundle Adjustment)处理。BALM2将点云数据聚合为点簇,显著提升计算效率,实测显示其计算耗时仅为传统方法的1/20。文章详细介绍了点簇的核心原理、二阶优化方法及与传统方法的性能对比,展示了其在激光SLAM领域的突破性应用。

weixin_29212867的博客 153

高通跃龙QCS6490部署yolov11_obb实战:QNN SDK工具链全解析与避坑指南

本文详细解析了在高通跃龙QCS6490平台上部署yolov11_obb模型的实战过程,重点介绍了QNN SDK工具链的使用与优化技巧。从环境配置、模型转换到性能调优,提供了全面的避坑指南和DSP加速配置建议,帮助开发者高效实现旋转框检测任务在边缘设备上的部署。

weixin_29232121的博客 305

vant中的swipe

我是在Vue中使用的vant 会做一点点小改动 <van-swipe @change="onChange" ref="swiper"> <van-swipe-item v-for="(item,index,key) in List" :key="index"> </van-swipe-item> </van-swipe> 通过onChang...

HarryHY的博客 8481

PSpice 导入 LTspice 仿真实验 --(如何解决PSpice模型无法使用的错误)

参考了网上第三方器件导入LTspice的博客和资料,不论是哪个公司下载的SPICE模型导入LTspice的方法都类似。如果遇到导入报错的情况可以先看一下报错提示,如果通过语法修改实现功能的则说明可以进行仿真,当然性能可能与官方给的模型存在一点出入,但做一个基本的功能验证本人认为还是可以的,总比做出板子用不了或者完全不匹配的要好一些。

伊丽莎白的学习之路 8998

vant 索引城市不对_vue,vant,使用过程中 Swipe 轮播自定义大小遇到的坑

今天讲一下使用vantSwipe 轮播控件过程中遇到的问题主要是使用swiper自定义的大小的时候,宽度适应不同分辨率的移动设备适应宽度的同时还需控件的正常使用先看一下需要实现的功能,一个简单的轮播图,但是每个轮播的宽度需要低于100%,使第二个轮播的van-swipe-item可以展示到第一个位置一部分这时我们再去vant的文档查看一下控件刚好有一个自定义控件大小的可以使用,完美解决了我们的问题...

weixin_42521558的博客 2248

74LS161/48 交通灯控制系统:30-5-20-5 时序逻辑电路 Multisim 仿真验证

本文详细解析了基于74LS161/48芯片的交通灯控制系统设计,通过Multisim仿真验证30-5-20-5时序逻辑电路。从系统架构搭建、状态机实现到波形分析,提供全流程操作指南与典型问题排查方法,助力数字电路课程设计高效完成。

weixin_26742753的博客 377

同物种,不同版本之间的坐标转化

是最常用的工具,如果有可用的链文件,这通常是最便捷的方法。CrossMap是一个功能强大的替代工具,支持多种文件格式和物种。自定义生成链文件适用于没有现成资源的情况,虽然复杂一些,但可以满足特定需求。Ensembl 和 Gramene提供的工具适用于支持的物种,尤其在植物基因组领域可能更具优势。选择合适的方法取决于你正在处理的物种、基因组版本以及现有的资源。

qq_40256654的博客 1852

vant-swipe点击切换

<div class="zpfirst" @click="changeSwipe('up')"> <van-icon name="arrow-left"/> </div> <van-swipe class="swipeDiv" ref="swiper"> <van-swipe-item v-for="item in remakes" :...

superXiaoyun的博客 6519

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1467

【前端】【vant】van-swipe的虚拟懒加载(懒挂载)机制

每次改变的都是index,如果key不变,则不做改变,如果key改变,则旧的DOM是不变的,新的DOM会复用旧的DOM并改变其中的值。它的子项 van-swipe-item会被当作该 layer 的子帧,只渲染当前 offset 对应的部分。浏览器必须在16.67ms中完成js执行,样式计算,布局,绘制,合成,不然就会掉帧。里面有每一帧的时间分配图(JS、Layout、Paint、Composite)。),这些元素处于可见视口内,在van-swipe的实现中,只有当前页和相邻页的元素被设置了。

j_i_ng的博客 1153

【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)

初探Neo4j导入数据备份数据客户端操作导入csv文件指定csv文件格式使用命令行导入csv文件附录 请读者参考上篇博文 Neo4j安装教程 导入数据 若开启服务,先在终端停止 Neo4j 服务 ./neo4j stop 接下来,下载射雕三部曲的数据库文件 wget https://labfile.oss.aliyuncs.com/courses/1354/graph.db.dump 下载完将出现 graph.db.dump 文件: 将数据库文件导入到 Neo4j 中 首先进入neo4j 根目录下:

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 8619

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

vant3的option写法示例(部分组件:swipe、popup、picker、stepper、field、tab、tabbar)

vant3的option写法示例(部分组件:swipe、popup、picker、stepper、field、tab、tabbar)

苦夏木禾 3099

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ue3+vant+van-swipe 实现短视频播放的功能(一)

原文链接:vue3+vant+van-swipe 实现短视频播放的功能(一) 在网上翻阅了很多通过vue3+vant+van-swipe 实现短视频播放的功能,但是收获很少,即使有这样的文章,内容也是残缺不全或者根本就是做广告的(严肃的投诉某课网,起的标题很诱人,但其实没有一点实际的内容:vue3.0+vant3仿快手/抖音短视频)。 于是打算自己实现一个短视频播放的小页面,简单但是不简陋,开始播放、暂停、上下滑动切换视频、点赞、分享、评论功能都有。 结果图如下 页面展示: 封面页

u013611978的博客 3410

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

vant ui Swipe pc端滑动失效

vant ui Swipe pc端滑动失效

cjxIt的博客 2012

通过cdn引入vant,van-swipe-cell没有效果

前言 最近接手一个项目,是h5多页面,页面中使用了vant的一些插件,是通过cdn的方式引入样式和js的。使用

扮老虎的猪 2877

vue使用vant组件二次封装轮播图swipe

<template> <!-- vant方案 --> <!-- <div class="vant_container"> --> <van-swipe class="my-swipe" ref="swipe" :height="boxHeight" :width="boxWidth" :autoplay="autoplay" :duration="duration" :loop="lo.

tangshiqing0304的博客 2741

vue3项目,电脑端使用vant4中的Swipe 轮播组件问题

vue3项目,电脑端使用vant4中的swipe

qq_40926572的博客 915

Swipe 轮播图

【代码】Swipe 轮播图。

weixin_49352307的博客 895

van-swipe__track------Vant轮播图使用时遇到的一个坑

使用vant组件库遇到的问题

LK_315的博客 8650

Vant轮播多个div结合二维数组的运用

在开发H5的时候,结合Vant组件的轮播组件Swipe实现如下功能。这里的需求是要实现每屏展示多张图片或者说多个div卡片,那么这个时候就要考虑到多维数组嵌套循环,也就是两层循环。

Amelian的博客 1187

vant cdn引用 轮播图Swipe data数据使用

最近在使用vant框架,因为不懂vue,所以直接cdn引用了,说起来vant框架的文档真的对于新手很不友好,只写了一些大概的方法,想要按照文档进行项目,真的很难(也可能个人不会vue的原因?)。 再就是找不到一起交流的人,只能在网上提问,但是效率真的好低。。。哎。 探究了几天慢慢的摸索了一下,最终实现了一些效果。做个备注,以及让新手做个参考吧。 下面的内容为页面引用框架的轮播的效果,官方的轮播图只有效果,但是却没有连接,搜索了半天也没有找到怎么给轮播图做链接,后来根据网上的list组件以及vue等其他的方法

菜鸟技术员 1011
上一篇: vue swiper 修改配置 数据更新 父组件向子组件myswiper传递多次参数 子组件只显示第一次传递的数据 解决方法
下一篇: Vue跨组件动态插槽传递
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值