最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 每天学习一个vue插件(12)——vue-fullpage

    正文概述 掘金(七秒记忆的鱼)   2021-03-11   762

    每天学习一个vue插件(12)——vue-fullpage

    前言

    每天学习一个vue插件(12)——vue-fullpage

    1 介绍

    配置项 属性

    dir

    // 方向 v/h
    // 默认v
    opts: {
      dir:'v'
    }
    
    

    duration

    // 切换页面动画时长
    // 默认500ms
    opts: {
      duration:'500'
    }
    

    der

    // 触发事件滑动距离
    // 默认0.1
    opts: {
      der:'0.1'
    }
    

    配置项 事件

    beforeChange

    // 滑动前触发
    // return false 阻止切换到下一页
    opts: {
      beforeChange:(prev, next) =>{if(lock) return false}
    }
    

    afterChange

    // 滑动后触发
    opts: {
      afterChange:(prev, next) =>{}
    }
    

    动画配置

    v-animate="{ 
      value: 'bounceInLeft', 
      delay: 0 
    }"
    

    常用样式 style

    fullpage-container

    // 默认会在指定父级元素加上 .fullpage-container
    // 并且指定样式
    .fullpage-container {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
    

    2 使用

    安装

    npm install vue-fullpage  --save
    

    全局配置

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

    全屏滑动

    <template>
      <div class="BaseFullpage">
        <div class="fullpage-wp" v-fullpage="opts">
          <div class="page-1 page">
            <p class="part-1" v-animate="{ value: 'bounceInLeft' }">
              vue-fullpage1
            </p>
          </div>
          <div class="page-2 page">
            <p class="part-2" v-animate="{ value: 'bounceInRight' }">
              vue-fullpage2
            </p>
            <el-button @click="lock">锁定</el-button>
            <el-button @click="unlock">解锁</el-button>
          </div>
          <div class="page-3 page">
            <p class="part-3" v-animate="{ value: 'bounceInLeft', delay: 0 }">
              vue-fullpage3
            </p>
            <p class="part-3" v-animate="{ value: 'bounceInRight', delay: 600 }">
              vue-fullpage4
            </p>
            <p class="part-3" v-animate="{ value: 'zoomInDown', delay: 1200 }">
              vue-fullpage5
            </p>
          </div>
        </div>
      </div>
    </template>
    
    <script>
    import Vue from 'vue'
    import 'vue-fullpage/vue-fullpage.css'
    import VueFullpage from 'vue-fullpage'
    Vue.use(VueFullpage)
    export default {
      data() {
        return {
          isLock: true,
          opts: {
            start: 0,
            dir: 'v',
            duration: 500,
            beforeChange: this.beforeChange,
            afterChange: this.afterChange
          }
        }
      },
      methods: {
        beforeChange(prev, next) {
          console.log('before', prev, next)
    
          // 默认锁定
          if (next === 2 && this.isLock) return false
        },
        afterChange(prev, next) {
          console.log('after', prev, next)
        },
        lock() {
          this.isLock = true
        },
        unlock() {
          this.isLock = false
        }
      }
    }
    </script>
    
    <style lang="scss" scoped>
    .fullpage-container {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      .page {
        width: 100%;
        height: 100%;
        background: chocolate;
      }
    }
    </style>
    

    3.注意

    尾声

    月光悄悄的跑进窗子,你是否也正望着月亮发呆~

    晚安 ^_^

    参考链接

    • vue-fullpage API 文档
    • vue-fullpage 官方案例

    往期回顾

    • 每天学习一个vue插件(1)——better-scroll
    • 每天学习一个vue插件(2)——vue-awesome-swiper
    • 每天学习一个vue插件(3)——eslint + prettier + stylelint
    • 每天学习一个vue插件(4)——v-viewer
    • 每天学习一个vue插件(5)——postcss-pxtorem
    • 每天学习一个vue插件(6)——momentjs
    • 每天学习一个vue插件(7)——hammerjs
    • 每天学习一个vue插件(8)——mcanvas
    • 每天学习一个vue插件(9)——MathJax
    • 每天学习一个vue插件(10)——Vue-APlayer
    • 每天学习一个vue插件(11)——vue-drag-resize

    起源地下载网 » 每天学习一个vue插件(12)——vue-fullpage

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元