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 相关文章推荐
jQuery与ExtJS之选择实例分析
Aug 19 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
深入解析JavaScript中的立即执行函数
May 21 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
Dec 13 Javascript
基于JavaScript实现本地图片预览
Feb 08 Javascript
vue父组件中获取子组件中的数据(实例讲解)
Sep 27 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
Nov 28 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
Nov 10 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 Javascript
vue自定义右键菜单之全局实现
Apr 09 Vue.js
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
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
PHP多文件上传实例
2015/07/09 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
百度地图api如何使用
2015/08/03 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
python del()函数用法
2013/03/24 Python
python调用新浪微博API项目实践
2014/07/28 Python
web.py获取上传文件名的正确方法
2014/08/26 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python实现视频下载功能
2017/03/14 Python
Python 的类、继承和多态详解
2017/07/16 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
css sprite简单实例
2016/05/23 HTML / CSS
Oracle快照(snapshot)
2015/03/13 面试题
农民入党思想汇报
2014/01/03 职场文书
免职通知
2015/04/23 职场文书
教师节主题班会教案
2015/08/17 职场文书
《假如》教学反思
2016/02/17 职场文书
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python