当前位置: 首页 > news >正文

vue3中使用swiper轮播图的slideTo方法跳转到指定页面

介绍

SlideTo: 使用swiper时, 可通过slideTo 方法跳转到指定的索引页;一般常用的参数有两个

  1. index----索引
  2. speed—速度

分析

vue3 中, 实现 swiper 控制器的响应式控制,大概分为以下几步:

  1. 创建一个响应式引用,用于存储Swiper实例
  2. 将创建的实例传递给SwipersetControlledSwiper方法。

代码

这里直接使用上篇文章的代码,具体代码解释可参考上几篇文章;这里只针对轮播图的指定跳转等做解释。

<template><div class="index"><swiper:modules="modules":loop="true":slides-per-view="1":space-between="50":autoplay="true":navigation="navigation":pagination="{ clickable: true }":scrollbar="{ draggable: false }"class="swiperBox"@slideChange="onSlideChange"@swiper="setControlledSwiper":controller="{controlledSwiper }"><swiper-slidev-for="(item,index) in state.swiperList":key="index"><div class="swiper-content"><img :src="item.img" alt="" class="swiper-img"></div></swiper-slide><div class="swiper-button-prev" @click.stop="prevEl()" /><!--左箭头。如果放置在swiper外面,需要自定义样式。--><div class="swiper-button-next" @click.stop="nextEl()" /><!--右箭头。如果放置在swiper外面,需要自定义样式。--><!-- 如果需要滚动条 --><!-- <div class="swiper-scrollbar"></div> --></swiper></div>
</template>
<script setup>import { ref, reactive, onMounted, onUnmounted, nextTick } from 'vue';import { Swiper, SwiperSlide } from 'swiper/vue'import 'swiper/css/navigation' // 轮播图两边的左右箭头import { Autoplay, Pagination, Navigation, Scrollbar } from 'swiper/modules'const navigation = ref({nextEl: ".swiper-button-next",prevEl: ".swiper-button-prev",});// 在modules加入要使用的模块const modules = [Autoplay, Pagination, Navigation, Scrollbar]const state = reactive({swiperList:[{id:0,img:'/img1.png'},{id:1,img:'/img2.png'}]})// 核心代码 // 创建响应式实例const controlledSwiper = ref(null);// 将实例传递给方法;const setControlledSwiper = (swiper) => {controlledSwiper.value = swiper;console.log(controlledSwiper.value);};//  例如: 点击上箭头的时候默认跳转到第一页;// 实例存在的时候,调用slideTo方法,传递参数; 默认跳转到第一页,所以索引传递0,const prevEl = (e) => {controlledSwiper.value?.slideTo(0,500);}// 更改当前活动swiperconst onSlideChange = (swiper) => {// swiper是当前轮播的对象,里面可以获取到当前swiper的所有信息,当前索引是activeIndexconsole.log(swiper.activeIndex)}</script>

相关文章:

  • 60天python训练计划----day40
  • Excel 中的SUMIFS用法(基础版),重复项求和
  • EasyExcel复杂Excel导出
  • VSCode无法转到定义python源码(ctrl加单击不跳转)
  • wireshark分析国标rtp ps流
  • 【Office】Excel两列数据比较方法总结
  • 用wireshark抓了个TCP通讯的包
  • Wireshark 在 macOS 上使用及问题解决
  • 智能守护电网安全:探秘输电线路测温装置的科技力量
  • 本地部署Ollama DeepSeek-R1:8B,接入Cherry Studio
  • 力扣刷题Day 65:单词搜索(79)
  • Day40
  • 30V/3A,云岑CP8335B,完美替换EUP3484
  • 【Java】mybatis-plus乐观锁-基本使用
  • 『uniapp』添加桌面长按快捷操作 shortcuts(详细图文注释)
  • B端产品经理如何快速完成产品原型设计
  • SQL进阶之旅 Day 8:窗口函数实用技巧
  • Flask项目进管理后台之后自动跳回登录页面,后台接口报错422,权限问题
  • 极具特色的位置运算
  • 一种通用图片红色印章去除的工具设计
  • 动态网站设计与实现论文/厦门seo排名优化公司
  • 域名解析映射到网站空间怎么做/店铺如何运营和推广
  • wordpress进后台/专业seo站长工具全面查询网站
  • 如何做网站效果更好/新手做外贸怎么入门
  • 做美工的网站/磁力棒
  • 阿里云个人网站备案过程全记录/个人做外贸怎样起步