基於 vue 的單頁滾動外掛
阿新 • • 發佈:2019-02-01
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)
文件
快速上手
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的手機模擬器或手機瀏覽器訪問