1. 程式人生 > >基於 vue 的單頁滾動外掛

基於 vue 的單頁滾動外掛

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">
  <divv-page="opts"class="page-wp">
    <divclass="page page1">
      <pclass="part part1"v-animate
="'slideIn'"> vue-fullpage </p> </div> <divclass="page page2"> <pclass="part part2"v-animate="'slideIn'"> vue-fullpage </p> </div> <divclass="page page3"> <pclass="part part3"v-animate="'slideIn'">
vue-fullpage </
p> </div> <divclass="page page4"> <pclass="part part4"v-animate="'fadeIn'"> vue-fullpage </p> </div> </div> </div>

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

<script>exportdefault {
  data () {
    return {
      opts: {
        start:0,
        dir:'v',
        loop:false,
        duration:500,
        stopPageScroll: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的手機模擬器或手機瀏覽器訪問