vue实现整屏滚动切换


Posted in Javascript onJune 29, 2020

本文实例为大家分享了vue实现整屏滚动切换的具体代码,供大家参考,具体内容如下

1、下载vue-awesome-swiper

npm i vue-awesome-swiper -S

2、在main.js引入

import vueAwesomeSwiper from 'vue-awesome-swiper'
Vue.use(vueAwesomeSwiper);

3、直接上案例,新建一个路由页面

<template>
 <div class="hello-world">
 <swiper id="swiperBox" v-bind:options="swiperOption" ref="mySwiper">
  <swiper-slide class="swiper-slide" v-for="(item, index) in list" :key="index">
  <div class="page">
   <h3>第{{item}}页</h3>
  </div>
  </swiper-slide>
 </swiper>
 </div>
</template>
 
<script>
import { swiper, swiperSlide } from "vue-awesome-swiper";
export default {
 name: "HelloWorld",
 data() {
 return {
  list: [], //轮换列表
  swiperOption: {
  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: true, //开启鼠标滚轮控制Swiper切换。可设置鼠标选项,默认值false
  mousewheelControl: true, //同上
  height: window.innerHeight, // 高度设置,占满设备高度
  resistanceRatio: 0, //抵抗率。边缘抵抗力的大小比例。值越小抵抗越大越难将slide拖离边缘,0时完全无法拖离。本业务需要
  observeParents: true, //将observe应用于Swiper的父元素。当Swiper的父元素变化时,例如window.resize,Swiper更新
 
  // 如果自行设计了插件,那么插件的一些配置相关参数,也应该出现在这个对象中,如下debugger
  //debugger: true,
 
  // swiper的各种回调函数也可以出现在这个对象中,和swiper官方一样
  on: {
   //监听滑动切换事件,返回swiper对象
   slideChange: () => {
   let swiper = this.$refs.mySwiper.swiper;
   console.log(swiper.activeIndex); //滑动打印当前索引
   if (swiper.activeIndex === this.list.length - 1) {
    //到最后一个加载更多数据
    let newList = [];
    let listLength = this.list.length;
    for (let i = 0; i < 10; i++) {
    newList.push(listLength + i);
    }
    this.list = this.list.concat(newList);
   }
   }
  }
  }
 };
 },
 created() {
 //从后台获取数据
 this.list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
 },
 // 如果你需要得到当前的swiper对象来做一些事情,你可以像下面这样定义一个方法属性来获取当前的swiper对象,同时notNextTick必须为true
 computed: {
 swiper() {
  return this.$refs.mySwiper.swiper;
 }
 },
 mounted() {
 // this.swiper.slideTo(3, 1000, false); //手动跳到指定页
 },
 components: {
 swiper,
 swiperSlide
 }
};
</script>
 
<style scoped>
.swiper-slide {
 font-size: 24px;
 text-align: center;
 line-height: 100px;
}
.swiper-slide:nth-child(2n) {
 background: skyblue;
}
.swiper-slide:nth-child(2n-1) {
 background: seashell;
}
</style>

4、电脑浏览器可能有问题,请使用真机测试

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 撑出页面文字换行
Jun 15 Javascript
一个可拖拽列宽表格实例演示
Nov 26 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
Jul 03 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
jquery.validate.js插件使用经验记录
Jul 02 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
javascript十六进制及二进制转化的方法
May 06 Javascript
jQuery蓝色风格滑动导航栏代码分享
Aug 19 Javascript
JavaScript+H5实现微信摇一摇功能
May 23 Javascript
分享15个Webpack实用的插件!!!
Mar 31 Javascript
js前端设计模式优化50%表单校验代码示例
Jun 21 Javascript
JS前端使用canvas实现物体的点选示例
Aug 05 Javascript
vue实现页面切换滑动效果
Jun 29 #Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 #Javascript
Vue.js中Line第三方登录api的实现代码
Jun 29 #Javascript
vue实现列表滚动的过渡动画
Jun 29 #Javascript
element跨分页操作选择详解
Jun 29 #Javascript
vue实现数字滚动效果
Jun 29 #Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 #Javascript
You might like
php网页后退不再出现过期
2007/03/08 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
jquery设置控件位置的方法
2013/08/21 Javascript
node.js入门教程
2014/06/01 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Python读写zip压缩文件的方法
2018/08/29 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
python中强大的format函数实例详解
2018/12/05 Python
matplotlib实现区域颜色填充
2019/03/18 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
基于python图像处理API的使用示例
2020/04/03 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
高中生校园生活自我评价
2013/09/19 职场文书
入党自我评价范文
2014/02/02 职场文书
房屋租赁意向书
2014/04/01 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
javascript函数式编程基础
2021/09/15 Javascript