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 相关文章推荐
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
自写的jQuery异步加载数据添加事件
May 15 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
js 实现数值的千分位及保存小数方法(推荐)
Aug 01 Javascript
Vue.js每天必学之指令系统与自定义指令
Sep 07 Javascript
Bootstrap整体框架之CSS12栅格系统
Dec 15 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
Jan 05 Javascript
Angular2 之 路由与导航详细介绍
May 26 Javascript
基于Node.js模板引擎教程-jade速学与实战1
Sep 17 Javascript
使用puppeteer爬取网站并抓出404无效链接
Dec 20 Javascript
JS数组扁平化、去重、排序操作实例详解
Feb 24 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中Smarty模板初体验
2011/08/08 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
php计算整个目录大小的方法
2015/06/19 PHP
详解js异步文件加载器
2016/01/24 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
jquery滚动加载数据的方法
2015/03/09 Javascript
JavaScript入门基础
2015/08/12 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
python的turtle库使用详解
2019/05/10 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
2014年迎新年活动方案
2014/02/19 职场文书
节能标语大全
2014/06/21 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
律师授权委托书范本
2014/10/07 职场文书
通知的写法
2015/04/23 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python