lanbos / vue-fullpage

一个基于vue.js的触摸滑动插件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vue-fullpage

基于vue的fullpage.js

功能概述

可实现移动端的单页滚动效果,支持横向滚动和纵向滚动

兼容性

目前还未进行大规模兼容性测试。有bug请提问至issues

安装

npm install vue-fullpage --save

commonjs

import VueFullpage from 'vue-fullpage'
Vue.use(VueFullpage)

var vueFullpage = require('vue-fullpage')
Vue.use(vueFullpage)

文档

api文档

快速上手

main.js

在main.js需要引入该插件的css和js文件

import VueFullpage from 'vue-fullpage'
Vue.use(VueFullpage)

app.vue

模板部分:page-container容器加入v-cover指令防止闪烁 在page-wp容器上加v-page指令,指令值是fullpage的配置

<div class="page-container">
  <div v-page="opts" class="page-wp">
    <div class="page page1">
      <p class="part part1" v-animate="'slideIn'">
        vue-fullpage
      </p>
    </div>
    <div class="page page2">
      <p class="part part2" v-animate="'slideIn'">
        vue-fullpage
      </p>
    </div>
    <div class="page page3">
      <p class="part part3" v-animate="'slideIn'">
        vue-fullpage
      </p>
    </div>
    <div class="page page4">
      <p class="part part4" v-animate="'fadeIn'">
        vue-fullpage
      </p>
    </div>
  </div>
</div>

js部分: 提供vue-fullpage的自定义指令

<script>
export default {
  data () {
    return {
      opts: {
        start: 0,
        dir: 'v',
        loop: false,
        duration: 500,
        stopBoundaryScroll: true,
        beforeChange: function (prev, next) {
        },
        afterChange: function (prev, next) {
        }
      }
    }
  }
}
</script>

css部分: page-container需要固定宽度和高度,fullpage会使用父元素的宽度和高度。
如下设置可使滚动页面充满全屏

<style>
.page-container {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
</style>

demo

地址:

请使用chrome的手机模拟器或手机浏览器访问

http://vue.wendaosanshou.top/vue_fullpage_demo/

感谢

代码参考 颜海镜 大神的项目:zepto.fullpage.js

About

一个基于vue.js的触摸滑动插件


Languages

Language:JavaScript 80.5%Language:Vue 11.1%Language:HTML 4.9%Language:CSS 3.5%