fullPage

作者: 块垒 | 来源:发表于2016-12-29 15:01 被阅读8577次

    什么是fullPage?

    fullPage.js 是一个基于 jQuery 的插件,它能够很方便、很轻松的制作出全屏网站,主要功能有:

    • 支持鼠标滚动
    • 支持前进后退和键盘控制
    • 多个回调函数
    • 支持手机、平板触摸事件
    • 支持 CSS3 动画
    • 支持窗口缩放
    • 窗口缩放时自动调整
    • 可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等

    fullPage的页面结构和配置项

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>fullpage</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.9.2/jquery.fullPage.css">
        <style>
            .slide{
                text-align: center;
            }
            #fullpageMenu{
                position: fixed;
                top: 0;
                z-index: 999;
            }
        </style>
    </head>
    <body>
        <ul id="fullpageMenu">
            <li data-menuanchor='page1'  class="active"><a href="#page1">1 section</a></li>
            <li data-menuanchor='page2'><a href="#page2">2 section</a></li>
            <li data-menuanchor='page3'><a href="#page3">3 section</a></li>
            <li data-menuanchor='page4'><a href="#page4">4 section</a></li>
        </ul>
        <!-- <div id="header">header</div> -->
        <div id="fullpage">
            <div class="section">这是第一个页面</div>
            <div class="section">
                <div class="slide">Slide    1</div>
                <div class="slide">Slide    2</div>
                <div class="slide">Slide    3</div>
                <div class="slide">Slide    4</div>
            </div>
            <div class="section">这是第三个页面</div>
            <!--active类定位到当前页面-->
            <div class="section">这是第四个页面</div>
        </div>
        <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js'></script>
        <script src='https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.9.2/jquery.fullPage.js'></script>
        <script>
            $(document).ready(function() {
                $('#fullpage').fullpage({
                    //设置background-color属性
                    sectionsColor:['blue','green','orange','red'],
    
                    //定义是否通过箭头来控制slide幻灯片,默认为true.在移动设备上可一个通过滑动来操作幻灯片
                    controlArrows:true,
    
                    //每一页的内容是否垂直居中
                    verticalCentered:true,
    
                    //字体是否随着页面缩放而缩放,默认值为false
                    resize:false,
    
                    //滚动速度,默认为700  单位ms
                    scrollingSpeed:700,
    
                    /*、定义锚链接,默认值为[]。有了锚链接用户可以快速打开定位到某一页面。定义锚链接的时候,值不要和页面中任意的id或name相同,尤其在IE浏览器下。而且定义时不需要加#*/
                    anchors:['page1','page2','page3','page4'],
    
                    /*是否锁定锚链接,默认为false。如果设置为true,那么定义的锚链接,也就是anchors属性则没有效果*/
                    lockAnchors:false,
    
                    /*滚动到最顶部后是否连续滚动到底部,默认为false*/
                    loopTop:false,
    
                    /*滚动到底部后是否连续滚动回顶部,默认为false*/
                    loopBottom:false,
    
                    /*横向slider幻灯片是否循环滚动,默认为true*/
                    loopHorizontal:true,
    
                    /*是否使用插件的滚动方式,默认为true,如果选择false,则会出现浏览器自带的滚动跳,将不会暗夜滚动,而是按照滚动条的默认行为滚动*/
                    autoScrolling:true,
    
                    /*是否包含过冬天,默认为false,如果设置为true,则浏览器自带的滚动条出现,页面还是按页滚动,但是滚动条的默认行为页有效*/
                    scrollBar:false,
    
                    /*设置每一个section顶部和底部的padding,默认都为0。一般如果我们需要在顶部或底部的设置菜单、导航、元素等,可以使用这两个配置项。*/
                    paddingTop:'0px',
                    paddingBottom:0,
    
                    /*固定的元素默认为null、需要配置一个jquery选择器。在页面滚动的时候,fixedElements设置的元素固定不动*/
                    fixedElements:'#header',
    
                    /*是否可以使用键盘方向键导航,默认为true*/
                    keyboardScrolling:true,
    
                    /*在移动设备中滑动页面的敏感性,默认为5,是按百分比来衡量,最高为100,越大则越难滑动。*/
                    touchSensitivity:5,
    
                    /*continuousVertical是否循环滚动,默认为false。如果设置为true,则页面会循环滚动,而不像loopTop或loopBottom那样出现跳动,注意这个属性和loopTop/loopBottom不兼容,不要同时设置*/
    
                    /*锚链接是否可以控制滚动动画,默认为true。如果为false则没有动画效果*/
                    animateAnchor:true,
    
                    /*是否记录历史,默认为true,可以记录页面滚动的历史,通过浏览器的前进后退控制导航。注意如果设置了autoScrolling:false ,那么之歌配置也将被关闭,即设置为false*/
                    recordHistory:true,
    
                    /*绑定彩蛋,设定的相关属性与anchors的值相对应后,彩蛋可以控制滚动,默认为false。可以设置为菜单的jquery选择器*/
                    menu:'#fullpageMenu',
    
                    /*是否显示导航,默认为false。如果设置为true,会显示小圆点,作为导航*/
                    navigation:true,
    
                    /*导航小圆点位置,可以设置为left或者right*/
                    navigationPosition:'right',
    
                    /*navigationTooltips:导航小圆点的tooltips设置,默认为[],注意按照顺序设置*/
                    navigationTooltips:['page1','page2','page3','page4'],
    
                    /*是否显示当前页面的导航的tooltip信息,默认为false*/
                    showActiveTooltip:true,
    
                    /*是否显示横向幻灯片的导航,默认为false*/
                    slidesNavigation:false,
    
                    /*横向幻灯片导航的位置,默认为bottom,可以设置为top或bottom*/
                    slidesNavPosition:'bottom'
    
                    /*scrollOverflow:内容超过满屏后是否显示滚动条,默认为false。如果设置为true,则会显示滚动条,如果要滚动查看内容,还需要jquery.slimscroll插件的配合。slimscroll插件主要用于模拟传统的浏览器滚动条*/
    
                    /*sectionSelector:section的选择器,默认为.section*/
    
                    /*slideSelector:slide的选择器,默认为.slides*/
                });
            });
            /*
                方法:调用方法均为 $.fn.fullpage.xxx()
    
                1.  moveSectionUp()/moveSectionDown():向上或向下滚动一页
                2.  moveTo(section,slides):滚动到第几页,第几个幻灯片,注意,页面是从1开始,而幻灯片是从0开始。
                3.  silentMoveTo(section,slide):和moveTo一样,但是没有动画效果。
                4.  moveSlideRight()/moveSlideLeft():幻灯片向右/左滚动
                5.  setAutoScrolling(boolean):动态设置autoScrolling
                6.  setLockAnchors:动态设置lockAnchors
                7.  setRecordHistory(boolean):动态设置recordHistory
                8.  setScrollingSpeed(milliseconds):动态设置scrollingSpeed
                9.  setAllowScrolling(bollean,[directions]):添加或删除鼠标滚轮/滑动控制,第一个参数true为启用,false
                    为禁用,后面的参数为方向,取值包含all,up,down,left,right,可以使用多个,逗号分割
                10. destroy(type):销毁fullpage特效,type可以不写,或者使用all,不写type,fullpage给页面添加的样式和html元素还在,如果使用
                    all,则样式、html等全部销毁,页面恢复和不使用fullpage相同的效果
                11. reBeuild():重新更新页面和尺寸,用于通果ajax请求后改变了页面结构之后,重建效果。
    
                Lazy Loading
                <img data-src='img.png'>
                <video>
                    <source data-src='video.webm' type='video/webm'/>
                <video>
    
                回调
                * afterLoad(anchorLink,index)
                   1. 滚动到某一section,且滚动结束后,会触发一次此回调函数,函数接收anchorLink和index两个参数,anchorLink时锚链接的名称,index是序号,从1开始计算。
                   2. 我们可以根据anchorLink和index参数值的判断,触发相应的事件
    
                * onLeave(index,nextIndex,direction)
                   1. 在我们离开一个section时,会触发一次此回调函数,接收index/nextIndex/和direction 3个参数
                      I.   index是离开的页面的序号,从1开始计算。
                      II.  nextIndex是滚动的目标页面的序号,从1开始计算
                      III. direction判断往上滚动还是往下滚动,值是up或down
                   2. 通过return false 可以取消滚动
    
                * afterRender()
                  页面结构生成后的回调函数,或者说是页面初始化完成后的回调函数
    
                * afterResize()
                  浏览器窗口尺寸改变后的回调函数
    
                * afterSlideLoad(anchorLink,index,slideAnchor,slideIndex)
                  滚动到某一幻灯片后的回调函数,与afterLoad类似
    
                * onSlideLeave(anchorLink,index,slideIndex,direction,nextSlideIndex)
                  在我们离开一个slide时,会触发一次此回调函数,与onLeave类似
    
                
            */
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:fullPage

        本文链接:https://www.haomeiwen.com/subject/bfqpvttx.html