美文网首页vue笔记
基于vue项目 实现整屏滚动 -- vue-fullpage 插

基于vue项目 实现整屏滚动 -- vue-fullpage 插

作者: 涼涼_570e | 来源:发表于2019-04-11 10:19 被阅读2283次

vue-fullpage.js 其实是fullpage.js 的vue.js 官方封装的插件。

用法:

  1.安装  

     npm install --save vue-fullpage.js

 2.在main.js中引入

引入vue-fullpage.js

注意:因为vue-fullpage 是基于fullpage的,而fullpage又是基于jQuery的全屏滚动插件,所以操作完以上两步后,我们还缺少一个fullpage.min.css文件,我的做法是将该文件(附上链接)下载下来,放到本地使用。

即 完成以上步骤后,我们在需要用到vue-fullpage的组件中,还需要通过import导入css样式           

    import "../../../static/css/fullpage.min.css"; //整屏滚动样式

3.在组件中使用

3.1  html 结构

<template>

  <div>

    <full-page :options="options" ref="fullpage">

      <div class="section">

            first section

      </div>

      <div class="section footerH">

            second section

      </div>

    </full-page>

  </div>

</template>

3.2 js 结构

data() {

    return {

      options: {//整屏插件vue-fullpage选项

        licenseKey: null,

        verticalCentered: true, //定义每一页的内容是否垂直居中

        afterLoad: this.afterLoad, //滚动到某一屏后的回调函数

        // scrollOverflow: true,//内容超过满屏后显示滚动条

        controlArrows: true, //是否通过箭头控制slide幻灯片

        loopHorizontal: true, //slide幻灯片是否循环滚动

        scrollBar: true, //true则是一滚动就是一整屏

        onLeave: this.onLeave, //滚动前的回调函数,

      },

    };

  }

若是想在某一屏中实现左右滑动的轮播图。则可在该屏中套入一个以slide为类名的div,即::

有轮播图的html结构

在vue-fullpage 中有一些回调函数和方法,,通过this.$refs.fullpage.api.xxx可调用相关方法。。

附上完整代码截图:

完整代码

注:为了让轮播图实现自动播放效果,使用了定时器,因此可结合beforeRouteLeave钩子函数 在路由离开前进行清除操作

销毁定时器

小技巧:在methods中使用了定时器,为了方便销毁,可在data中return 一个定时器的命名,再通过this.命名可以实现赋值和销毁!!

一些坑::页面内容不满屏的时候,和上面的内容放一块就太挤,单独放一屏就太空,比如页面的footer部分,对于这个问题,我采用了最简单的处理方法,即给最后一屏加上一个类名 footerH(看上图代码),让最后一屏的高度自适应。。

不满屏处理

此处是参考过的git文件!!!  附上相关配置项 方法 回调函数!!!

相关文章

  • 基于vue项目 实现整屏滚动 -- vue-fullpage 插

    vue-fullpage.js 其实是fullpage.js 的vue.js 官方封装的插件。 用法: 1.安装...

  • 关于vue-awesome-swiper pagination组

    项目做整屏滚动效果,使用 "vue-awesome-swiper": "^4.1.1"。发现pagination这...

  • vue-cli简单实现骨架屏

    Vue项目首屏加载缓慢,基于webpack插件(vue-skeleton-webpack-plugin)实现一个骨...

  • 2018-12-24

    1,基于Vue.js、 iview实现的项目管理系统vue-projectManage: 基于Vue.js实现的项...

  • Vue高仿饿了么实战项目使用better-scroll滚动条问题

    问题描述: 在基于Vue的高仿饿了么实战项目中使用better-scroll滚动条插件实现滚动条效果时,页面初始化...

  • 整屏滚动

    整屏滚动: jquery.mousewheel插件使用 : jquery中没有鼠标滚轮事件,原生js中的鼠标滚轮事...

  • 整屏滚动

    持鼠标滚动、前进后退和键盘控制、多个回调函数、支持手机和平板触摸事件、支持 CSS3 动画、支持窗口缩放、窗口缩放...

  • 整屏滚动

    持鼠标滚动、前进后退和键盘控制、多个回调函数、支持手机和平板触摸事件、支持 CSS3 动画、支持窗口缩放、窗口缩放...

  • 整屏滚动

    整屏滚动: jquery.mousewheel插件使用 : jquery中没有鼠标滚轮事件,原生js中的鼠标滚轮事...

  • 图片懒加载组件与应用

    实现图片只加载首屏用到的,其他的等滚动到再加载这就是图片懒加载 使用vue-lazyload插件实现 安装vue-...

网友评论

    本文标题:基于vue项目 实现整屏滚动 -- vue-fullpage 插

    本文链接:https://www.haomeiwen.com/subject/xleziqtx.html