FullPage.js全屏滚动插件

Fullpage初始化参数

选项

  • sectionsColor:可以为每一个section设置背景颜色
  • controlArrows:定义是否通过箭头来控制slide幻灯片,默认为true.当我们设置为false,则幻灯片左右两侧的箭头就会消失,在移动设备上,我们可以通过滑动来操作幻灯片
  • verticalCentered:每一页的内容是否垂直居中,默认为true。一般我们保持默认值
  • resize:字体是否随着窗口缩放而缩放,默认为false
  • scrollingSpeed:滚动速度,单位为毫秒,默认为700
  • anchors:定义锚链接,默认值为[]。有了锚链接,用户就可以快速打开定位到某一页面。注意定义锚链接的时候,值不要和页面中任意的id或name相同,尤其是在IE浏览器下。而且定义时不需要加#
  • lockAnchors:是否锁定锚链接,默认为false。如果设置为true,那么定义的锚链接,也就是anchors属性就没有效果了,这配置项用的比较少
  • easing:定义页面section滚动的动画方式,默认为easeInOutCubic,如果修改此项,需要引入jquery.easings插件,或者jquery ui.
  • css3:是否使用CSS3 transforms来实现滚动效果,默认值为true.这个配置项可以提高支持CSS3的浏览器,比如移动设备等的速度,如果浏览器不支持CSS3,则会使用jquery来替代css3实现滚动效果
  • loopTop:滚动到最顶部后是否连续滚动到底部,默认为false
  • loopBottom:滚动到最底部后是否连续滚动回顶部,默认为false
  • loopHorizontal:横向slider幻灯片是否循环滚动,默认为true
  • autoScrolling:是否使用插件的滚动方式,默认为true,如果选择false,则会出现浏览器自带的滚动条,将不会按页滚动,而是按照滚动条的默认行为来滚动
  • scrollBar:是否包含滚动条,默认为false,如果设置为true,则浏览器自带的滚动条出现,页面滚动时还是按页滚动,但是滚动条的默认行为也有效
  • paddingTop/paddingBottom:设置每一个section顶部和底部的padding,默认都为0.一般如果我们需要设置一个固定在顶部或者底部的菜单、导航、元素等,可以使用这两个配置项
  • fixedElements:固定的元素,默认为null,需要配置一个jquery选择器。在页面滚动的时候,fixedElements设置的元素固定不动
  • keyboardScrolling:是否可以使用键盘方向键导航,默认为true
  • touchSensitivity:在移动设备中滑动页面的敏感性,默认为5,是按百分比来衡量,最高为100,越大则越难滑动
  • continuousVertical:是否循环滚动,默认为false。如果设置为true,则页面会循环滚动,而不像loopTop或loopBottom那样出现跳动,注意这个属性和loopTop、loopBottom不兼容和,不要同时设置
  • animateAnchor:锚链接是否可以控制滚动动画,默认为true。如果设置为false,则通过锚链接定位到某个页面显示不再有动画效果
  • recordHistory:是否记录历史,默认为true,可以记录页面滚动的历史,通过浏览器的前进后退来导航。注意如果设置了autoScrolling:false,那么这个配置也将被关闭,即设置为false
  • menu:绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动,默认为false,可以设置为菜单的jquery选择器
  • navigation:是否显示导航,默认为false。如果设置为true,会显示小圆点,作为导航
  • navigationPosition:导航小圆点的位置,可以设置为left或者right
  • navigationTooltips:导航小圆点的tooltips设置,默认为[],注意按照顺序设置
  • showActiveTooltip:是否显示当前页面的导航的tooltip信息,默认为false
  • slidesNavigation:是否显示横向幻灯片的导航,默认为false
  • slidesNavPosition:横向幻灯片导航的位置,默认为bottom,可以设置为top或bottom
  • scrollOverflow:内容超过满屏后是否显示滚动条,默认为false。如果设置为true,则会显示滚动条,如果要滚动查看内容,还需要jquery.slimscroll插件的配合。slimscroll插件主要用来模拟传统的浏览器滚动条
  • sectionSelector: section的选择器,默认为.section
  • slideSelector: slide的选择器,默认为.slide

方法函数

  • moveSectionUp():向上滚动一页
  • moveSectionDown():向下滚动一页
  • moveTo(section, slide):滚动到第几页,第几个幻灯片,注意页面是从1开始,而幻灯片是从0开始
  • silentMoveTo(section, slide):滚动到第几页,和moveTo一样,但是没有动画效果
  • moveSlideRight():幻灯片向右滚动
  • moveSlideLeft():幻灯片向左滚动
  • setAutoScrolling(boolean):动态设置auotScrolling–设置页面滚动方式,设置为 true 时自动滚动
  • setAllowScrolling(boolean,[directions]):添加或删除鼠标滚轮/滑动控制,第一个参数true为启用,false为禁用,后面的参数为方向,取值包含all,uo,down,left,right,可以使用多个,逗号分隔
  • setKeyboardScrolling():添加或删除键盘方向键控制
  • setScrollingSpeed(milliseconds):动态设置scrollingSpeed定义以毫秒为单位的滚动速度
  • setLockAnchors(boolean):动态设置lockAnchors
  • setRecordHistory(boolean):动态设置recordHistory
  • destroy(type):销毁fullpage特效,type可以不写,或者使用all,不写type,fullpage给页面添加的样式和html元素还在,如果使用all,则样式、html等全部销毁,页面恢复和不使用fullpage相同的效果
  • reBuild():重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果
    利用这个插件也可以实现图片懒加载的效果,只要设置图片的src属性为data-src即可
    Lazy Loading(延迟加载图片)延时加载图片的懒方法
    图片:
    音频:
<video>
        <source data-src="video.webm" type="video/webm"/>
        <source data-src="video.mp4" type="video/mp4"/>
    </video>

fullpage方法的使用:

$.fn.fullpage.方法名称()
例如$.fn.fullpage.moveSectionUp()

回调方法函数

  • afterLoad(anchorLink,index):滚动到某一section,且滚动结束后,会触发一次次回调函数,函数接收anchorLink和index两个参数,anchorLink是锚链接的名称,index是序号,从1开始计算。我们可以根据anchorLink和index参数值的判断,触发相应的事件
  • onLeave (index, nextIndex, direction):当我们离开一个section时,会触发一次此回调函数,滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数
    index 是离开的“页面”的序号,从1开始计算;
    nextIndex 是滚动到的目标“页面”的序号,从1开始计算;
    direction 判断往上滚动还是往下滚动,值是 up 或 down。
    通过return false;可以取消滚动
  • afterRender():这个回调函数只是在生成页面结构的时候调用。这是要用来初始化其他插件或删除任何需要的文件准备好代码的回调(这个插件修改DOM创建得到的结构)。
  • afterResize():这个回调函数在窗口发生大小改变的时候被调用,就在部分调整。
  • afterSlideLoad (anchorLink、index、slideIndex、direction ):
    滚动到某一幻灯片后的回调函数,与afterLoad类似,接收 anchorLink、index、slideIndex、direction 4个参数。
    anchorLink: 锚链接的名称
    index: section的序号,从1开始计算.
    slideIndex: slide的序号. 从1开始计算.
    direction 滚动的方向。
  • onSlideLeave (anchorLink, index, slideIndex, direction, nextSlideIndex):在我们离开一个幻灯片的时候触发此回调函数,与onLeave类似,接收 anchorLink、index、slideIndex、direction 4个参数。
    anchorLink: 锚链接的名称
    index: section的序号,从1开始计算.
    slideIndex: slide的序号. 从1开始计算.
    direction 滚动的方向。值为left或者right
    nextSlideIndex: 目标slide的序号. 从0开始计算.
    取消slide滑动
    你可以设置回调函数onSlideLeave 返回false,那么他将阻止此次的滑动事件,就像onLeave一样。
    给每一屏添加active类,可以直接跳转到该页面
    更多详细配置:传送门
    Demo:

<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content='width=device-width,initial-scale=1,user-scalable=no'>
    <title>全屏滚动title>
    <link rel="stylesheet" type="text/css" href="js/jquery.fullpage.css">
    <style type="text/css">
        body{
            color: #fff;
        }
        .slide{
            text-align: center;
            font-size: 30px;
            font-weight: bold;
        }
        #header{
            position: fixed;
            font-size: 30px;
            font-weight: bold;
            top: 0;
            right: 200px;
        }
        #fullpageMenu{
            font-size: 30px;
            position: fixed;
            top: 0;
            z-index: 999;
        }
    style>
head>
<body>
<ul id="fullpageMenu">
    <li data-menuanchor="page1" class="active"><a href="#page1">1 sectiona>li>
    <li data-menuanchor="page1"><a href="#page2">2 sectiona>li>
    <li data-menuanchor="page1"><a href="#page3">3 sectiona>li>
    <li data-menuanchor="page1"><a href="#page4">4 sectiona>li>
ul>
<div id="header">Headerdiv>
<div id="fullpage">
    <div class="section">
        <h1>这是第一屏h1>
    div>
    <div class="section">
        <div class="slide">slide 1div>
        <div class="slide">slide 2div>
        <div class="slide">slide 3div>
        <div class="slide">slide 4div>
    div>
    <div class="section">
        <h1>这是第三屏h1>
    div>
    <div class="section">
        <h1>这是第四屏h1>
    div>
div>
<script type="text/javascript" src="js/jquery.min.js">script>
<script type="text/javascript" src="js/jquery.fullpage.min.js">script>
<script type="text/javascript">
    $(function(){//这是激活fullpage插件
        $("#fullpage").fullpage({
            sectionsColor:['red','yellow','green','pink'],
            // controlArrows:false
            anchors:['page1','page2','page3','page4'],
            loopTop:true,
            loopBottom:true,
            loopHorizontal:false,
            fixedElements:'#header',
            menu:"#fullpageMenu"
        });
    });
script>
body>
html>

激活fullpage插件:就是获取到最外层的容器元素,在页面加载完毕后调用fullpage方法

你可能感兴趣的:(jQuery)