移动端的轮播图

这篇具有很好参考价值的文章主要介绍了移动端的轮播图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果

移动端的轮播图

技术选取

前端框架用的是vue3,使用的组件库为element-plus以及vant4

引入element-plus和vant4

安装element-plus

  cnpm install element-plus --save

 安装按需导入

  cnpm install -D unplugin-vue-components unplugin-auto-import

安装Vant

 cnpm i vant

按需加载插件

cnpm i unplugin-vue-components -D

修改vite.config.js配置按需加载

import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {ElementPlusResolver, VantResolver} from 'unplugin-vue-components/resolvers'

 plugins: [
        vue(),
        AutoImport({
            resolvers: [ElementPlusResolver()],
        }),
        Components({
            resolvers: [ElementPlusResolver(), VantResolver()]
        }),


    ],

vant4的Swipe 轮播

基础用法

<van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
  <van-swipe-item>1</van-swipe-item>
  <van-swipe-item>2</van-swipe-item>
  <van-swipe-item>3</van-swipe-item>
  <van-swipe-item>4</van-swipe-item>
</van-swipe>

<style>
  .my-swipe .van-swipe-item {
    color: #fff;
    font-size: 20px;
    line-height: 150px;
    text-align: center;
    background-color: #39a9ed;
  }
</style>

API

Swipe Props

参数 说明 类型 默认值
autoplay 自动轮播间隔,单位为 ms number | string -
duration 动画时长,单位为 ms number | string 500
initial-swipe 初始位置索引值 number | string 0
width 滑块宽度,单位为 px number | string auto
height 滑块高度,单位为 px number | string auto
loop 是否开启循环播放 boolean true
show-indicators 是否显示指示器 boolean true
vertical 是否为纵向滚动 boolean false
touchable 是否可以通过手势滑动 boolean true
stop-propagation 是否阻止滑动事件冒泡 boolean true
lazy-render 是否延迟渲染未展示的轮播 boolean false
indicator-color 指示器颜色 string #1989fa

Swipe Events

事件名 说明 回调参数
change 每一页轮播结束后触发 index: number
drag-start v4.0.9 当用户开始拖动轮播组件时触发 { index: number }
drag-end v4.0.9 当用户结束拖动轮播组件时触发 { index: number }

SwipeItem Events

事件名 说明 回调参数
click 点击时触发 event: MouseEvent

Swipe 方法

通过 ref 可以获取到 Swipe 实例并调用实例方法,详见组件实例方法。

方法名 说明 参数 返回值
prev 切换到上一轮播 - -
next 切换到下一轮播 - -
swipeTo 切换到指定位置 index: number, options: SwipeToOptions -
resize 外层元素大小或组件显示状态变化时,可以调用此方法来触发重绘 - -

类型定义

组件导出以下类型定义:

import type { SwipeProps, SwipeInstance, SwipeToOptions } from 'vant';

SwipeInstance 是组件实例的类型,用法如下:

import { ref } from 'vue';
import type { SwipeInstance } from 'vant';

const swipeRef = ref<SwipeInstance>();

swipeRef.value?.next();

SwipeToOptions 格式

名称 说明 类型
immediate 是否跳过动画 boolean

Swipe Slots

名称 说明 参数
default 轮播内容 -
indicator 自定义指示器 { active: number, total: number }

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。文章来源地址https://www.toymoban.com/news/detail-475394.html

名称 默认值 描述
--van-swipe-indicator-size 6px -
--van-swipe-indicator-margin var(--van-padding-sm) -
--van-swipe-indicator-active-opacity 1 -
--van-swipe-indicator-inactive-opacity 0.3 -
--van-swipe-indicator-active-background var(--van-primary-color) -
--van-swipe-indicator-inactive-background var(--van-border-color) -

我的代码 

<template>
  <van-swipe  :autoplay="3000" indicator-color="white">
    <van-swipe-item v-for="(item,index) in sliderList.list" :key="index">
      <el-image :fit="fill" :src="item"/>
    </van-swipe-item>
  </van-swipe>
</template>

<script setup>
import {reactive} from "vue";
//轮播图片数组600-250
const sliderList = reactive({
  list: [
    "http://ip:8888/group1/M00/00/00/rBoX5mR3blSAKeHfAADogBdgrh8622.png",
    "http://ip:8888/group1/M00/00/00/rBoX5mR1i1iAYkwkAAQrnM0oH_U695.png",
    "http://ip:8888/group1/M00/00/00/rBoX5mR1i_eATaX7AAHRPx-qWaI436.png",
  ]
})
</script>

<style scoped>

</style>

到了这里,关于移动端的轮播图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js实现左右切换轮播图效果

    实现效果: 自动向右循环播放 鼠标悬停,移出继续播放 点击向右按钮,跳到下一张 点击向左按钮,跳到上一张 保证图片的过渡效果完整呈现后,才能跳到下一张 底部圆点随图片位置切换激活状态 实现思路: 把第一张图片复制到最后一张 当播放到最后一张时,无缝切换到

    2024年01月20日
    浏览(43)
  • 使用JS来实现轮播图的效果

    最好今天分享一个使用JS制作的轮播图效果 个人名片:  😊 作者简介:一名大一在校生,web前端开发专业  🤡  个人主页:几何小超  🐼 座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。  🎅**学习目标:  坚持每一次的学习打卡 ,学好前端 首先是HTML部分

    2024年01月20日
    浏览(34)
  • 微信小程序中实现轮播图效果

    swiper是轮播图的外层容器,所以使用轮播图就必须使用到swiper标签。 存在默认样式: 1 width 100% 2 height 150px 只能放置在swiper组件中。表示每一个轮播项。 编译效果: 当切换机型后,就可以方向,图片的宽高与效果不一样 1.分析和升级版本,解决换机型的宽高问题 ①先找出

    2024年02月11日
    浏览(41)
  • 【Android】使用ViewPager2实现轮播图效果,手动/自动轮播图

    这里使用Gilde进行加载图片:Glide 使用Gilde可以加载网络图片还可以提高图片加载性能。 接下来新建一个子布局item_image,加载viewPage2的子布局。 ViewPage2就是使用recyclerView实现的,所以这里使用方法其实类似。 这里直接继承RecyclerView.Adapter即可,代码很简单不必多说。 创建一个

    2024年02月03日
    浏览(37)
  • Android Jetpack Compose实现轮播图效果

    在最近思索如何使用Compose方式改进我的开源TMDB电影列表应用程序的主屏幕时,一个激动人心的概念浮现在我的脑海中——为什么不整合一个吸引人的轮播图来展示即将上映的电影呢?在本文中,我将分享我的开发和实现自定义轮播图的经历,提供涉及不同步骤的见解。 首先

    2024年02月08日
    浏览(82)
  • uniapp实现移动端的视频图片轮播组件

    1、视频轮播组件app体验地址 https://tt.appc02.com/nesxr6 2、支持小程序、H5、APP,在小程序上运行的效果图 3、使用方法 第一步,按照截图步骤配置好 第二步:参考以下代码,使用视频图片轮播组件 3、组件属性说明 ad-list 广告的数据。数组形式,每个item需要包含url、isVideo字段,

    2024年02月10日
    浏览(28)
  • 微信小程序首页、界面布局、3D轮播图效果(示例二)

    使用swiper实现3D轮播图效果,自定义顶部状态栏,具体代码: 1、js代码 2、wxml代码 3、wxss代码 4、json代码 如需要下载完整版,包含监听事件、图片文件等,请前往下方链接,下载完整版,下载后直接使用微信开发者工具打开即可,下载链接为: 小程序完整版界面(示例二)

    2024年02月10日
    浏览(44)
  • 前端Vue自定义简单实用轮播图封装组件 快速实现轮播图

    前端Vue自定义简单实用轮播图封装组件 快速实现轮播图, 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下: 使用方法 HTML代码实现部分

    2024年02月10日
    浏览(53)
  • uni-app小程序折叠3D轮播图效果实现。

    先来看效果图 实现原理: 通过小程序的触摸事件,来控制图片数组的变化实现动态样式;来改变图片的样式。 贴上轮播组件完整代码 组件使用 如果有自动轮播的需求,可以改造下组件加个定时器处理数组就OK了。

    2024年02月11日
    浏览(29)
  • 前端项目-05-轮播图banner和Floor组件开发-全局轮播图组件抽取

    目录 1-轮播图模块数据开发 2-floor组件开发 3-抽取全局轮播图组件 轮播图需要用到swiper插件,先安装5.4.5版本的swiper: npm  install --save swiper@^5.4.5 --force 模拟从服务器获取数据; 1-编写mockRequests的js文件和之前编写的request的js文件类似,就修改一下baseURL,我们模拟的数据请求路

    2023年04月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包