vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】


Posted in Javascript onNovember 08, 2018

说到h5的翻页,很定第一时间想到的是swiper。但是我当时想到的却是,vue里边怎么用swiper?!

vue-awesome-swiper就是其中一个前辈们产出的结晶。就看首尾两个单词,就知道他是vue和swiper的爱情之子了。

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

二、在项目目录下,往node_modules里安装插件vue-awesome-swiper(可以在项目目录内,shift+鼠标右键,选择"在此处打开命令窗口"),

 vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

注释:我这里window电脑安装了,所有右键出现的可能和没安装的不一样,实在找不到的看这一篇教程:gulp安装流程、使用方法及CMD常用命令导览

然后输入下边的安装插件命令

npm i --s vue-awesome-swiper

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

三、第三步我们依旧没有天才牌裤子,所以还是自己一步一步稳稳走。

1.插件安装后就是引用插件了,main.js内部分三步走:

(1) 引用插件:mainjs注册vas

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

(2) 注册插件

注册后未use控制台就警告了

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

通过全局方法 Vue.use() 使用插件后可以了

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

使用后控制台无错了

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

(3) 插件样式(也可以自己写,不用人家的)

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

2.vue项目中使用:

(1) 准备-template

new a project准备一个空项目

 vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

初始化html-空结构

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

(2) 引入-import

 vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

(3) 注册组件-components

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

(4) 配置-js(具体配置和swiper的一摸一样,看swiper官网即可。我这里只说下我本次使用的配置的含义)

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

swiper官网参数

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

(5)美化- css

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

wan~

效果:

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】

代码:

main.js

import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
Vue.use(VueAwesomeSwiper)

zujian.vue

<template>
 <div class="hello-world">
 <!-- <h3>https://github.com/surmon-china/vue-awesome-swiper</h3> -->
 <!-- <h3>http://www.swiper.com.cn/api/index2.html</h3> -->
 <!-- http://www.swiper.com.cn/api/parameters/21.html -->
 <transition name="fade">
 <swiper id="swiperBox" v-bind:options="swiperOption" ref="mySwiper">
 <!-- 第一页 -->
 <swiper-slide class="swiper-slide1">
 <div class="page">
 <h3>第一页</h3>
 </div>
 </swiper-slide>
 <!-- 第二页 -->
 <swiper-slide class="swiper-slide2">
 <div class="page">
 <h3>第二页</h3>
 </div>
 </swiper-slide>
 <!-- 第三页 -->
 <swiper-slide class="swiper-slide3">
 <div class="page">
 <h3>第三页</h3>
 </div>
 </swiper-slide>
 </swiper>
 </transition>
 </div>
</template>
<script>
import { swiper, swiperSlide } from 'vue-awesome-swiper'
export default {
 name: 'HelloWorld',
 components: {
 swiper,
 swiperSlide
 },
 data () {
 return {
 swiperOption: {
 // swiper configs 所有的配置同swiper官方api配置
 notNextTick: true,//notNextTick是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true
 direction: 'vertical',//水平方向移动
 grabCursor: true,//鼠标覆盖Swiper时指针会变成手掌形状,拖动时指针会变成抓手形状
 setWrapperSize: true,//Swiper使用flexbox布局(display: flex),开启这个设定会在Wrapper上添加等于slides相加的宽或高,在对flexbox布局的支持不是很好的浏览器中可能需要用到。
 autoHeight: true,//自动高度。设置为true时,wrapper和container会随着当前slide的高度而发生变化
 slidesPerView: 1,//设置slider容器能够同时显示的slides数量(carousel模式)。可以设置为数字(可为小数,小数不可loop),或者 'auto'则自动根据slides的宽度来设定数量。loop模式下如果设置为'auto'还需要设置另外一个参数loopedSlides。
 mousewheel: false,//开启鼠标滚轮控制Swiper切换。可设置鼠标选项,默认值false
 mousewheelControl: false,//同上
 height: window.innerHeight, // 高度设置,占满设备高度
 resistanceRatio: 0,//抵抗率。边缘抵抗力的大小比例。值越小抵抗越大越难将slide拖离边缘,0时完全无法拖离。本业务需要
 observeParents: true,//将observe应用于Swiper的父元素。当Swiper的父元素变化时,例如window.resize,Swiper更新
 // 如果自行设计了插件,那么插件的一些配置相关参数,也应该出现在这个对象中,如下debugger
 debugger: true,
 // swiper的各种回调函数也可以出现在这个对象中,和swiper官方一样
 onTransitionStart(swiper){
 console.log(swiper)
 }
 }
 },
 computed: {
 swiper() {
 return this.$refs.mySwiper.swiper
 }
 },
 mounted() {
 // current swiper instance
 // 然后你就可以使用当前上下文内的swiper对象去做你想做的事了
 console.log('this is current swiper instance object', this.swiper)
 this.swiper.slideTo(3, 1000, false)
 }
}
</script>
<style scoped>
 .fade-enter-active, .fade-leave-active {
 transition: opacity .5s
 }
 .fade-enter, .fade-leave-to{
 opacity: 0
 }
 .swiper-wrapper{
 height: 100px;
 }
 .swiper-slide1{
 background: skyblue;
 }
 .swiper-slide2{
 background: yellowgreen;
 }
 .swiper-slide3{
 background: blanchedalmond;
 }
</style>

总结

以上所述是小编给大家介绍的vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
求得div 下 img的src地址的js代码
Feb 28 Javascript
javascript开发中因空格引发的错误
Nov 08 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
Mar 12 Javascript
JavaScript实现可拖拽的拖动层Div实例
Aug 05 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
node.js 利用流实现读写同步,边读边写的方法
Sep 11 Javascript
简单的三步vuex入门
May 20 Javascript
vue使用rem实现 移动端屏幕适配
Sep 26 Javascript
Three.JS实现三维场景
Dec 30 Javascript
Openlayers实现扩散的动态点(水纹效果)
Aug 17 Javascript
js实现车辆管理系统
Aug 26 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 Javascript
Vue实现简易翻页效果源码分享
Nov 08 #Javascript
vue-cli3.0 环境变量与模式配置方法
Nov 08 #Javascript
详解如何创建并发布一个 vue 组件
Nov 08 #Javascript
webpack开发环境和生产环境的深入理解
Nov 08 #Javascript
webpack 开发和生产并行设置的方法
Nov 08 #Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 #Javascript
深入解析ES6中的promise
Nov 08 #Javascript
You might like
php记录日志的实现代码
2011/08/08 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
JBL英国官网:JBL UK
2018/07/04 全球购物
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
初中地理教学反思
2014/01/11 职场文书
合伙经营协议书
2014/04/18 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
成本会计岗位职责
2015/02/03 职场文书
辞职信格式模板
2015/02/27 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
2016年教师节慰问信
2015/12/01 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android