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 相关文章推荐
鼠标移动到一张图片时变为另一张图片
Dec 05 Javascript
js+css在交互上的应用
Jul 18 Javascript
用jquery和json从后台获得数据集的代码
Nov 07 Javascript
js获取通过ajax返回的map型的JSONArray的方法
Jan 09 Javascript
基于JS实现EOS隐藏错误提示层代码
Apr 25 Javascript
Angular2学习笔记——详解NgModule模块
Dec 02 Javascript
js图片延迟加载(Lazyload)三种实现方式
Mar 01 Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
Oct 24 Javascript
小程序hover-class点击态效果实现
Feb 26 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
Sep 01 Javascript
JavaScript实现动态生成表格
Aug 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&amp;&amp;mysql)一
2006/10/09 PHP
给多个地址发邮件的类
2006/10/09 PHP
smarty缓存用法分析
2014/12/16 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
python处理二进制数据的方法
2015/06/03 Python
python实现linux下使用xcopy的方法
2015/06/28 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
python程序控制NAO机器人行走
2019/04/29 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
使用python+whoosh实现全文检索
2019/12/09 Python
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
介绍下Java的输入输出流
2014/01/22 面试题
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
迟到检讨书范文
2015/01/27 职场文书
北京英文导游词
2015/02/12 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
教你怎么用python selenium实现自动化测试
2021/05/27 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android
如何在Python中妥善使用进度条详解
2022/04/05 Python
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS