Giter Club home page Giter Club logo

zepto.fullpage's Introduction

zepto.fullpage

release issues forks stars license

专注于移动端的fullPage.js。

功能概述

可实现移动端的单页滚动效果,可自定义参数,提供回调接口,和公开接口。

兼容性

  • Ios4+
  • Andriod2.3+(未全部覆盖)

快速上手

HTML

<div class="wp">
    <div class="wp-inner">
        <div class="page page1">1</div>
        <div class="page page2">2</div>
        <div class="page page3">3</div>
        <div class="page page4">4</div>
    </div>
</div>

CSS

父容器需是固定高度,并且溢出为隐藏,fullpage会使用父元素的宽度和高度。

.wp{
    overflow: hidden;            
}

js

一行代码即可完成,如此简单:

$('.wp-inner').fullpage();

注意:是在.wp-inner上调用的。

更多例子,请移步这里

文档

API

贡献指南

如果你想为zepto.fullpage贡献代码,请采用fork + pull request 方式,并在发起pr前先将master上超前的代码rebase到自己的分支上。

发布Bower

$ bower register zepto.fullpage git://github.com/yanhaijing/zepto.fullpage.git

贡献者

贡献者Q群

如果你有任何疑问,请到Issues反馈,此Q群为贡献者使用,仅供贡献者内部讨论使用。

点击加入:zepto.fullpage官方交流群(314819079)

为什么会有这个项目

最近单页滚动的效果非常流行,这种效果的视觉冲击感很强烈,特别是对于活动页面,因为需求的迫切,在pc端诞生了 fullPage.js和onepage-scroll这样的库,在移动的浪潮下,我们自然需要把这种效果搬到移动设备上,但当我在想实现类似效果时,却找不到一个这样的库(fullpage.js对于移动端来说太大了,还要依赖jquery),所以我就开发了一个,先是用于自己项目中,后来抽了出来,就有了这个项目。

更新日志

更新日志

TODO

计划列表

如果你有好的建议,欢迎反馈给我

谁在使用

注:如果您也在使用,欢迎反馈给我

成功案例

更多案例,请点击这里查看

相关链接

如果你知道其他第三方库,欢迎反馈给我

自动化工具

如果你知道其他第三方工具,欢迎反馈给我

zepto.fullpage's People

Contributors

inuyasha2012 avatar linfaxin avatar linzb93 avatar lwzhang avatar mengxiong10 avatar superdiy avatar webx32 avatar wsluyu avatar xing00 avatar xsdlr avatar yanhaijing avatar

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  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

zepto.fullpage's Issues

大侠好!

我想问下怎么获取当前页面啊,就是在当前屏的时候,我想做一些其他的操作,比如把最下面的引导箭头给隐藏掉。
我是纯小白见谅。。

建议: 增加复合模式, 同时实现 Horizontal + Vertical

我目前的需求是 同时有水平和垂直的

H(0)    H(1)    H(2)
           V(1)
           V(2)
           V(3)

但是具体实现过程中, 我是这样做的, 顺序运行
$('.wp-inner-vertical').fullpage();
$('.wp-inner-horizontal').fullpage({dir: 'h'});

我发现是有问题的:

  • zepto.fullpage 是单例模式, 所以, 第二个Fullpage并不会实例化.
    我的临时解决方案是:
    去掉单例模式
    $.fn.fullpage = function(option) {
        var fullpage = new Fullpage($(this), option);
        return fullpage;
    };
  • 由于 复合以后 垂直fullpage的page计数会有问题(因为会受水平fullpage的影响), 导致到最后一页了还可以垂直向下滑.
    我的临时解决方案是, init方法中的find改为children, 这样只找子节点的.page :
    function init(option) {
        ...
        that.$pages = that.$this.children(o.page).addClass('fullPage-page fullPage-dir-' + o.dir);
        ...
    }

在mac下demo文件夹里的demo页面都运行不起来?

git clone项目到本地后,直接在chrome浏览器打开basic.html,发现在chrome的手机模拟器里模拟向上滑动没效果,但是console控制台也没有报错,我设置了断点发现js也有执行。

运行环境:
OSX: 10.9.5
Chrome: 42.0.2311.152(64-bit)
项目版本: zepto.fullpage.js v0.3.1

另外,我在windows下git clone项目直接打开basic.html,发现在chrome的手机模拟器里模拟向上滑动正常。

e.preventDefault();

是为了阻止冒泡么?这样导致页面里的锚点标签无法跳转了。。:)

在iphone6下,双击屏幕偏下方页面会往下偏移一段距离

在iphone6,iphone6+下,双击屏幕偏下方页面会往下偏移一段距离,然后在屏幕偏上方位置双击可以恢复回来。没想明白其触发的机理,在touchend事件监听函数中添加以下注释代码可以修复该问题

$this.on('touchend', function(e) {
                if (!that.status) {return 1;}
                //e.preventDefault();
                if (that.movingFlag) {
                    return 0;
                }

                var sub = that.o.dir === 'v' ? (e.changedTouches[0].pageY - that.startY)/that.height : (e.changedTouches[0].pageX - that.startX)/that.width;
                var der = (sub > that.o.der || sub < -that.o.der) ? sub > 0 ? -1 : 1 : 0;

                // iphone在屏幕下方双击时会发生往下偏移,这里禁止
                if (der == 0) return e.preventDefault();

                that.moveTo(that.curIndex + der, true);
            });

fullpage首屏动画过渡问题

由于用到fullpage的项目一般都大几百KB以上,特别是图片很多,这个时候,就需要进行前端资源预加载,然后再显示fullpage。流程如下:

1.打开页面首先出现loading页面,然后进行各种资源预加载
2.当资源加载完毕之后 ,初始化fullpage
3.loading页面消失 显示fullpage。问题就在这里,loading页面不能直接消失,fullpage也不能直接出现,这样会吓到用户的,必须给二者增加一个动画过渡(其实就是loading页面平滑消失,fullpage平滑显示)。当二者的动画都执行完毕,发现第一屏已经增加了.cur这个类,旗下动画早已执行完毕,而我需要的是,当二者的过渡动画执行完毕后,再给第一屏增加.cur这个类 ,这样的话 用户就能看到第一屏的动画

说了一堆:需求就是,增加一个fullpage 首次显示时的延时,这个延时只会运行一次。

效果

百度知道不能滚动;百度经验的文字图片拉伸的简直不能看;还有这个和www.dowebok.com/77.html这个有关系吗

【官方】收集使用zepto.fullpage的项目

页面切换底部闪屏问题

把示例中的page样式都改成黑色背景,可以更直观地看到闪屏

.page1{
    background: black;
}
.page2{
    background: black;
}
.page3{
    background: black;
}
.page4{
    background: black;
}

上划切换页面,会发现底部有白色闪烁,求解

resize error

在手机浏览器中,由于手机浏览器会自动隐藏地址栏会出现不充满全屏的情况

有些问题反馈,希望项目越来越好

1、是否不支持左右滑动,在move事件中只有Y轴的计算
2、回调函数,befor与after的索引问题
3、不支持循环滚动

最后,感谢您的分享!谢谢

建议把箭头合到插件里

建议把Demo里的Arrow合到插件里,默认箭头。
有修改箭头样式需求话,大家可以自己在custom.css里自己修改

【官方】收集H5单屏滚动页面的Demo

大家有好,有创意的例子,发这里,一起迸发灵感,互相学习哈。

参考格式:

出处
名字
推荐指数:★★★★★
url

**注意:**此处仅收集好的例子,请不要发广告

为何height会是3150px?在mobile上

$('.wp-inner').fullpage();报错说fullpage 为undefined? 我用Zepto('.wp-inner').fullpage()这样就可行,但是渲染出来的height却是3150px,测试环境是iphone6。

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.