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 相关文章推荐
namespace.js Javascript的命名空间库
Oct 11 Javascript
js日历功能对象
Jan 12 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
ECMAScript6新增值比较函数Object.is
Jun 12 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
Vue2.0组件间数据传递示例
Mar 07 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
Jul 10 Javascript
原生js实现省市区三级联动代码分享
Feb 12 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
详解ES6中class的实现原理
Oct 03 Javascript
Vuex实现简单购物车
Jan 10 Vue.js
前端JavaScript大管家 package.json
Nov 02 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使用session二维数组实例
2014/11/06 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
Python中的lstrip()方法使用简介
2015/05/19 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python线程指南分享
2019/11/19 Python
python实现批处理文件
2020/07/28 Python
python实现简单的tcp 文件下载
2020/09/16 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
宿舍使用违章电器检讨书
2014/01/12 职场文书
小学生自我评价范文
2014/01/25 职场文书
小学美术教学反思
2014/02/01 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
2014年科研工作总结
2014/12/03 职场文书
离职感谢信
2015/01/21 职场文书
告知书格式
2015/07/01 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
java解析XML详解
2021/07/09 Java/Android
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
python中if和elif的区别介绍
2021/11/07 Python
apache ftpserver搭建ftp服务器
2022/05/20 Servers