vue-awesome-swiper使用纪实
最近做一个项目,需要用到轮播和全屏滑动功能,所以用到了vue-awesome-swiper插件,以下为个人记录下此插件的用法。
效果说明:
- 上面部分是个轮播图,自动开始轮播,轮播间隔为3000ms
- 推荐和软件是两个tab,点击可切换当前显示
- 最下面是个可左右滑动区域,分别对应推荐和软件两个tab
1、安装依赖
npm install --save vue-awesome-swiper
2、引入组件和样式
//App.vue
<script>
import 'swiper/dist/css/swiper.css'
import {swiper,swiperSlide} from 'vue-awesome-swiper'
export default {
name: 'App',
components: {
swiper,
swiperSlide
},
}
</script
3、使用swiper和swiperSlide组件
<div class="swiper-container swiper-container1">
<swiper class="swiper-wrapper" :options="bannerOptions" ref="bannerSwiper">
<swiper-slide class="swiper-slide">
<img class="container1-img" src="./assets/logo.png" />
</swiper-slide>
<swiper-slide class="swiper-slide">
<img class="container1-img" src="./assets/logo.png" />
</swiper-slide>
</swiper>
</div>
<div class="swiper-container swiper-container2">
<swiper class="swiper-wrapper" :options="swiperOptions" ref="mySwiper">
<swiper-slide class="swiper-slide section">
<div class="content-slide">
<div class="section-list">
<header>下载最多</header>
<div class="list">
<div class="list-img">
<img src="./assets/logo.png" />
</div>
<div class="list-desc">
<p class="title">淘宝</p>
<div class="star" v-if="num == 5">
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="size">54.13MB</span>
</div>
<div class="star" v-if="num == 4">
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="dark"></span>
<span class="size">54.13MB</span>
</div>
<p class="desc">新人领388元购物礼包</p>
</div>
<div class="list-download">
<a href="">下载</a>
</div>
</div>
</div>
</div>
</swiper-slide>
<swiper-slide class="swiper-slide section">
<div class="content-slide">
<div class="section-list">
<header>本周最热</header>
<div class="list">
<div class="list-img">
<img src="./assets/logo.png" />
</div>
<div class="list-desc">
<p class="title">淘宝</p>
<div class="star">
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="light"></span>
<span class="dark"></span>
<span class="size">54.13MB</span>
</div>
<p class="desc">新人领388元购物礼包</p>
</div>
<div class="list-download">
<a href="">下载</a>
</div>
</div>
</div>
</div>
</swiper-slide>
</swiper>
</div>
4、配置options选项
export default {
name: 'App',
components: {
swiper,
swiperSlide
},
data() {
return {
num: 5,
bannerOptions: {
speed: 300,
autoplay: true
},
swiperOptions: {
notNextTick: true,
autoHeight: true
}
}
}
}
5、实现左右滑动分别对应推荐和软件两个tab显示,则首先要拿到swiper这个对象
computed: {
swiper() {
return this.$refs.mySwiper.swiper
}
},
第一步:推荐和软件tab的点击使swiper区域滑动
methods: {
changeTab(i) {
let ul = document.getElementById('myMenu');
let li = ul.getElementsByTagName('li');
for (let index = 0; index < li.length; index++) {
li[index].className = ''
}
li[i].className = 'active'
this.swiper.slideTo(i,500,false)
},
}
第二步:左右滑动使tab样式改变
swiperOptions: {
notNextTick: true,
autoHeight: true,
on: {
slideChangeTransitionEnd(){
console.log(this.activeIndex)
let i = this.activeIndex;
let ul = document.getElementById('myMenu');
let li = ul.getElementsByTagName('li');
for (let index = 0; index < li.length; index++) {
li[index].className = ''
}
li[i].className = 'active'
}
}
}
6、综述
以上就可以实现我想要的效果。我所配置的选项比较少,如果你需要多项选项配置,可以去看swiper中文网,里面有更详细的配置。
vue-awesome-swiper使用纪实的更多相关文章
- vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件
vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件 ------------------------------------------- ...
- Vue与swiper想结合封装全屏轮播插件
项目需求介绍: 1.页面图文混排, 2.点击图片后全屏展示图片,并在底部显示文字,如果没有则不显示 3.关闭全屏后依然停留在上次浏览的位置 4.浏览图片时,不管点击的哪张图片,全屏展示的时候也要显示这 ...
- vue 使用swiper的一些问题(页面渲染问题)
//Swiper上下滚动初始化 swiper_init(){ this.$nextTick(function(){ var mySwiper = new Swiper ('.swiper-contai ...
- vue awaresome swiper的使用
main.jsimport VueAwesomeSwiper from 'vue-awesome-swiper'import 'swiper/dist/css/swiper.css'Vue.use(V ...
- 小程序和Vue利用swiper实现icons分页显示--动态计算
这里发现小程序实现步骤,Vue与之类似 先上效果图: <view class="icons"> <swiper indicator-dots="true ...
- vue使用swiper模块滑动时报错:[Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example becaus
报错: vue报这个错 [Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for ex ...
- 轮播模仿臭美APP,vue,swiper
介绍:轮播使用了swiper,重要用于移动端滑动,详情可查看官网 1.首先用npm安装 npm install swiper 2.main.js 中引入CSS import 's ...
- vue封装swiper
参考:https://github.com/surmon-china/vue-awesome-swiper npm install vue-awesome-swiper --save 全局引入 imp ...
- vue添加swiper的正确方式亲测---切图网
在vue项目中,我们在做图片轮播的方式和传统切图不同,传统切图中我们一般采用非常强大的swiper来完成,而在vue中一般依赖vue-awesome-swiper组件来完成(vue-awesome-s ...
- Vue整合swiper报错Could not compile template .....swiper\dist\css\swiper.css解决办法
问题描述 今天做一个前端项目,安装幻灯片插件vue-awesome-swiper后 运行npm run dev 后报错如下: `ERROR Could not compile template E:\ ...
随机推荐
- spark性能调优(二) 彻底解密spark的Hash Shuffle
装载:http://www.cnblogs.com/jcchoiling/p/6431969.html 引言 Spark HashShuffle 是它以前的版本,现在1.6x 版本默应是 Sort-B ...
- NOIP2017 列队——动态开点线段树
Description: Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n×m名学生,方阵的行数为 ...
- HDU 6181 第k短路
Two Paths Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 153428/153428 K (Java/Others)Total ...
- BFC的个人理解
BFC是Block Formatting Context (块级格式化上下文)的缩写,是一个独立的渲染区域,这个东西的存在是为了隔绝一些内部子元素对外部元素的影响. 例如: 我们用overflow:h ...
- SpringBoot Logback日志配置
Logback的配置介绍: 1.Logger.appender及layout Logger作为日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型.级别. ...
- 贪心算法: Codevs 1052 地鼠游戏
#include <iostream> #include <algorithm> #include <queue> #include <cstring> ...
- Lua程序设计(一)面向对象概念介绍
完整代码 local mt = {} mt.__add = function(t1,t2) print("两个Table 相加的时候会调用我") end local t1 = {} ...
- jdk 动态代理实现对目标对象的增强
因为学习 spring框架的 AOP 所以,这里复习下动态代理,但是 spring 的底层动态代理实现是 cglib,jdk 这种呢可以引导新手入门 spring AOP 横向抽取机制 最典型的应用当 ...
- 20155210潘滢昊 2016-2017-2 《Java程序设计》第6周学习总结
20155210 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的 InputStr ...
- objective-c 几何类常用方法整理
CGGeometry参考定义几何结构和功能,操作简单.数据结构中的一个点CGPoint代表在一个二维坐标系统.数据结构的位置和尺寸CGRect代表的一个长方形.数据结构的尺寸CGSize代表宽度和高度 ...