iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用vue写一个轮播图
  • 338
分享到

怎么用vue写一个轮播图

2023-07-04 13:07:55 338人浏览 安东尼
摘要

本篇内容主要讲解“怎么用Vue写一个轮播图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用vue写一个轮播图”吧!1.先展示最终效果:2.解决思路Vue的理念是以数据驱动视图,所以拒绝通过改

本篇内容主要讲解“怎么用Vue写一个轮播图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用vue写一个轮播图”吧!

1.先展示最终效果:

怎么用vue写一个轮播图

2.解决思路

Vue的理念是以数据驱动视图,所以拒绝通过改变元素的margin-top来实现滚动效果。写好CSS样式,只需改变每张图片的class即可实现轮播效果。动画效果交给transition完成。可以将轮播图看成两个(mainSlide和extraSlide),各个图片的位置如图所示:

怎么用vue写一个轮播图

3.代码实现

各个slide的样式:

$width: 800px;   // 容器宽度$height: 300px;   // 容器高度$bWidth: 500px;   // 大图片宽度$sWidth: $width - $bWidth; // 小图片宽度$sHeight: $height / 2; // 小图片高度#slider-wrapper{  width: $width;  height: $height;  margin: 0 auto;  cursor: pointer;  background: #DDD;  border-radius: 5px;  box-shadow: 0 1px 6px rgba(0,0,0,0.117647), 0 1px 4px rgba(0,0,0,0.117647);  display: flex;  overflow: hidden;  div{    display: inline-block;  }}.main-slide{  width: $bWidth;  height: $height;  float: left;  transition: all .4s ease;}.extra-slide{  width: $sWidth;  position: relative;  .extra-slide-item{    position: absolute;    width: $sWidth;    height: $sHeight;    left: 0;    transition: .4s ease-out;  }  .extra-slide-top{    top: -$sHeight;  }  .extra-slide-middle-first{    top: 0;    z-index: 2  }  .extra-slide-middle-second{    top: $sHeight;    z-index: 2  }  .extra-slide-bottom{    top: $height  }  .extra-slide-hide{    display: none!important;  }}

模板包含两个轮播图:

<div id="slider-wrapper" @mouseover="stop" @mouseout="start">  <!-- 轮播图1,mainSlide -->  <div class="main-slide" :></div>  <!-- 轮播图2,extraSlide -->  <div class="extra-slide">    <div class="extra-slide-item" :class="slideClass(i)" v-for="(v, i) in slideConfig" :key="i" :></div>  </div></div>

scripts部分,设置一个nowIndex,定时改变nowIndex。所有图片的class根据这个nowIndex来变化,这里使用了es6的map类型

export default {  name: 'slider',  data: function() {      return {      slideInterval: null,      nowIndex: 0,      slideLength: this.slideConfig.length    }  },  props: {    slideConfig: {      type: Array    }  },  methods: {    // 限制index不能超出图片列表长度    resetIndex(i) {      return i > this.slideLength - 1 ? i - this.slideLength : i    },    slideClass(i) {      let nowIndex = this.nowIndex      // Map就是key也可以是非字符串的对象,不用Map多写几个 if else 也可以      let map = new Map([        [this.resetIndex(nowIndex), 'extra-slide-top'],        [this.resetIndex(nowIndex + 1), 'extra-slide-middle-first'],        [this.resetIndex(nowIndex + 2), 'extra-slide-middle-second'],        [this.resetIndex(nowIndex + 3), 'extra-slide-bottom']      ])      // 图片的class根据nowIndex的变化而变化      return map.get(i) ? map.get(i) : 'extra-slide-hide'    },    start() {      // 定时改变nowIndex      this.slideInterval = setInterval(() => {        this.nowIndex = this.nowIndex > this.slideLength - 2 ? 0 : this.nowIndex + 1        console.log(this.nowIndex)      }, 2000)    },    stop() {      clearInterval(this.slideInterval)      this.slideInterval = null    }  },  mounted() {    this.start()  },  destroyed() {    this.stop()  }}

slideConfig,组件的props:

const prefix = '/src/assets/'const slideConfig = [{ src: prefix + 's1.jpg', title: '图1', desc: '说明1'}, { src: prefix + 's2.jpg', title: '图2', desc: '说明2'}, { src: prefix + 's3.jpg', title: '图3', desc: '说明3'}, { src: prefix + 's4.jpg', title: '图4', desc: '说明4'}, { src: prefix + 's5.jpg', title: '图5', desc: '说明5'}, { src: prefix + 's6.jpg', title: '图6', desc: '说明6'}]export default slideConfig

使用:

<slider :slideConfig="slideConfig" />

到此,相信大家对“怎么用vue写一个轮播图”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么用vue写一个轮播图

本文链接: https://www.lsjlt.com/news/345526.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用vue写一个轮播图
    本篇内容主要讲解“怎么用vue写一个轮播图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用vue写一个轮播图”吧!1.先展示最终效果:2.解决思路Vue的理念是以数据驱动视图,所以拒绝通过改...
    99+
    2023-07-04
  • 如何使用vue写一个简书的轮播图
    这篇文章主要介绍了如何使用vue写一个简书的轮播图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.先展示最终效果:2.解决思路Vue的理念...
    99+
    2022-10-19
  • 怎么使用vue轮播组件vue-awesome-swiper实现轮播图
    这篇文章主要讲解了“怎么使用vue轮播组件vue-awesome-swiper实现轮播图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用vue轮播组件vue-awesome-swipe...
    99+
    2023-07-04
  • 怎么写一个vue播放器
    随着互联网的迅速发展,音视频播放成为了人们日常生活中不可或缺的一部分。为了让用户能够更加方便地播放音视频内容,开发一个高质量的播放器已经成为了许多开发者的梦想。本文将讨论如何使用Vue框架来构建一个前端音视频播放器。确定需求和功能在开发一个...
    99+
    2023-05-24
  • 怎么用React完成一个图片轮播组件
    这篇文章主要为大家展示了“怎么用React完成一个图片轮播组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用React完成一个图片轮播组件”这篇文章吧。 ...
    99+
    2022-10-19
  • 使用bootstrap怎么实现一个轮播图功能
    使用bootstrap实现轮播图的方法:1.新建html项目,导入bootstrap;2.添加轮播图容器;3.添加计数器;4.设置播放区域;具体步骤如下:首先,新建一个html项目,并使用link标签导入bootstrap;<!DOC...
    99+
    2022-10-06
  • Vue实现轮播图效果的代码怎么写
    今天小编给大家分享一下Vue实现轮播图效果的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Vue 过渡Vue 的过...
    99+
    2023-07-04
  • 使用AmazeUI怎么实现一个图片轮播效果
    使用AmazeUI怎么实现一个图片轮播效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<!DOCTYPE html><html&g...
    99+
    2023-06-09
  • vue中怎么实现一个无限轮播插件
    这篇文章给大家介绍vue中怎么实现一个无限轮播插件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。思路:要实现无限轮播,需要在轮播图前后各加一张图片,加在前面的是轮播图的最后一张图片(重...
    99+
    2022-10-19
  • 使用JavaScript怎么模仿一个京东轮播图效果
    今天就跟大家聊聊有关使用JavaScript怎么模仿一个京东轮播图效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。主要技术点:每隔3秒自动切换图片;鼠标移入图片自动暂停切换,鼠标移...
    99+
    2023-06-06
  • js轮播图简单代码怎么写
    以下是一个简单的JavaScript轮播图代码示例:HTML代码:```html...
    99+
    2023-08-09
    js
  • vue中怎么使用vue-awesome-swiper轮播图插件
    vue中怎么使用vue-awesome-swiper轮播图插件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。第一步安装npm ins...
    99+
    2022-10-19
  • vue的vue-awesome-swiper轮播图插件怎么使用
    这篇文章主要讲解了“vue的vue-awesome-swiper轮播图插件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue的vue-awesome-swiper轮播图插件怎么使用...
    99+
    2023-07-04
  • vue-music使用better-scroll遇到轮播图不能自动轮播怎么办
    小编给大家分享一下vue-music使用better-scroll遇到轮播图不能自动轮播怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去...
    99+
    2022-10-19
  • 怎么用vue整合mint-ui实现轮播图
    这篇文章主要介绍“怎么用vue整合mint-ui实现轮播图”,在日常操作中,相信很多人在怎么用vue整合mint-ui实现轮播图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用vue整合mint-ui实现...
    99+
    2023-07-04
  • 使用CSS3怎么实现一个切片式图片轮播效果
    使用CSS3怎么实现一个切片式图片轮播效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。css是什么意思css是一种用来表现HTML或XML等文件样式的计算机语...
    99+
    2023-06-08
  • 怎么在Andriod使用多线程实现一个轮播图功能
    这篇文章将为大家详细讲解有关怎么在Andriod使用多线程实现一个轮播图功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MainActivity了初始化控件。<xml ve...
    99+
    2023-05-30
    android 多线程
  • 使用javascript怎么实现一个轮播特效
    本篇文章给大家分享的是有关使用javascript怎么实现一个轮播特效,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。javascript是一种什么语言javascript是一种...
    99+
    2023-06-14
  • 怎么在videojs中使用swiper实现一个商品详情轮播图
    本篇文章给大家分享的是有关怎么在videojs中使用swiper实现一个商品详情轮播图,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。HTML部分:<!-- sw...
    99+
    2023-06-14
  • 怎么利用纯CSS实现文字轮播与图片轮播
    本文小编为大家详细介绍“怎么利用纯CSS实现文字轮播与图片轮播”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么利用纯CSS实现文字轮播与图片轮播”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作