Git Product home page Git Product logo

vue-fullpage's Introduction

vue-fullpage

README:中文版

A sigle-page scroll plugin based on vue.js

overview

To achieve sigle-page scroll in mobile, support horizontal scroll and vertical scroll, support all the animation instructions of animate.css.

Online demo

here's a jsfiddle demo

Installation

npm install vue-fullpage --save

If you want use animate instruction, please install animate.css

npm install animate.css --save

animate.css usage

Document

api document

getting started

main.js

Import the plugin of css and js file in main.js

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

app.vue

template

fullpage-containerfullpage-wppageare default class name. Add the v-fullpage command to the page-wp container. Add the v-animate command to the page container.

<div class="fullpage-container">
  <div class="fullpage-wp" v-fullpage="opts">
    <div class="page-1 page">
      <p class="part-1" v-animate="{value: 'bounceInLeft'}">vue-fullpage</p>
    </div>
    <div class="page-2 page">
      <p class="part-2" v-animate="{value: 'bounceInRight'}">vue-fullpage</p>
    </div>
    <div class="page-3 page">
      <p class="part-3" v-animate="{value: 'bounceInLeft', delay: 0}">vue-fullpage</p>
      <p class="part-3" v-animate="{value: 'bounceInRight', delay: 600}">vue-fullpage</p>
      <p class="part-3" v-animate="{value: 'zoomInDown', delay: 1200}">vue-fullpage</p>
    </div>
  </div>
</div>

script

vue-fullpage value please refer to api document

export default {
  data() {
    return {
      opts: {
        start: 0,
        dir: 'v',
        duration: 500,
        beforeChange: function (prev, next) {
        },
        afterChange: function (prev, next) {
        }
      }
    }
  }
}

style

Set the page-container container's width and height what do you want, and the v-fullpage command will adapt the width and height of the parent element. The following settings allow the scrolling page to fill the full screen.

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

vue-fullpage's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

vue-fullpage's Issues

插件适用范围

您好,请问这个vue-fullpage 能适用于桌面端的鼠标滚轮吗?还是说只能是移动端的手势滑动?

beforeChange里return false;后无法再次触发滚屏

fullpage.moveTo = function(curIndex, anim) {
  var that = fullpage
  var dist = that.o.dir === 'v' ? (curIndex) * (-that.height) : curIndex * (-that.width)
  that.nextIndex = curIndex;
  that.o.movingFlag = true
  var flag = that.o.beforeChange(that.prevIndex, that.nextIndex)
  if (flag === false) {
    // 这里return前, 没有重置that.o.movingFlag, that.nextIndex, that.curIndex导致无法再次触发滚屏
    return false;
  }

  if (anim) {
    that.el.classList.add('anim')
  } else {
    that.el.classList.remove('anim')
  }

  that.move(dist)
  window.setTimeout(function() {
    that.o.afterChange(that.prevIndex, that.nextIndex)
    that.o.movingFlag = false
    that.prevIndex = curIndex
    that.vm.$emit('toogle_animate', curIndex)
  }, that.o.duration)
}

PC端兼容性

目前好像不支持PC端,怎么修改可以使得PC端都到支持呢?

Feature request: programatically switch section

Hi,

First of all, thanks a bunch for making this package, it works really well!
But I was wondering if you could make it possible to programmatically switch the section. For example: if you've got a button in the first section I'd like it to go to the next section upon clicking the button.

ios uc浏览器滚动有问题

前两屏没事,往后就滑不动了,需要滑动很大的距离才可以,在苹果app上的H5页面也有这个问题。有解决办法吗。

iphone6滑屏的时候出现卡顿

在微信中扫一扫打开时,iphone6滑屏时,上一页和下一页交换时会突然闪一下,然后才调到下一页。在iphone中使用微信扫一扫,它会打开自带的浏览器,而不是QQ浏览器,所以vue-fullpage是不是对IPhone自带的浏览器兼容性处理不够呢?

动态显示页面

根据后台返回的结果判断页面是否显示,现在这样会出现问题

滚动时的效果

请问有easing配置项么,是否可以通过贝塞尔函数来自定义添加滚动时的回弹效果?

Use it on desktop ?

First of all, sorry but I don't speak Chinese, and hope there are some English speakers here.

This is a very nice project, but is it possible to achieve the same behavior on a desktop: I would like the pages to change when I scroll my mouse, similar to swiping up / down on mobile.

添加点击事件

怎样在fullpage内部给元素添加点击事件

立刻下载
这样不执行

有demo源码吗?

api文档写的有点简单啊,与没有demo源码
怎么点击按钮,滚到下一屏

vm.$on事件多次触发

你好,
在你插件里面 fullpage.moveTo方法里面
that.vm.$emit('toogle_animate', curIndex)
绑定了事件,但是在触发事件的时候
` vm.$on('toogle_animate', function (curIndex) {
var curPage = +el.parentNode.getAttribute('data-id')
if (curIndex === curPage) {
that.addAnimated(el, aminate)
} else {
if (that.o.backcOp === false) {
el.style.opacity = '0'
that.removeAnimated(el, aminate)
} else {

            }
        }
    })`

我在方法里面输出curIndex时,出现多次,我在html中添加了几个v-animate属性就会输出几次,这个事件要怎么理解呢?

这个支持ssr吗?

我想在ssr中使用该插件,但是报错了
ReferenceError: window is not defined

按照你文档中的步骤安装了vue-fullpage,跑起来就报错了!

第一个错误提示:Error in directive animate inserted hook: "InvalidCharacterError: Failed to execute 'add' on 'DOMTokenList': The token provided ('animate-[object Object]') contains HTML space characters, which are not valid in tokens."

第二个错误提示:Failed to execute 'add' on 'DOMTokenList': The token provided ('animate-[object Object]') contains HTML space characters, which are not valid in tokens.

找了半天也没找到问题出在哪儿!

全屏问题

生产环节,加了
.page-container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
可以充满整屏幕,但是npm run build 之后,生成的单页面,不能全屏

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.