fullpage.js

依赖文件

<link rel="stylesheet" href="lib/jquery.fullPage.css">

<script src="lib/jquery.js"></script>
<script src="lib/jquery.fullPage.js"></script>

CDNJS 上提供的完整的 JavaScript库列表http://cdnjs.com/

基本页面结构

<div id="fullpage">
    <div class="section">
        <div class="slide">第一页第一屏</div>
        <div class="slide">第一页第二屏</div>
        <div class="slide">第一页第三屏</div>
        <div class="slide">第一页第四屏</div>
    </div>
    <div class="section">第二页</div>
    <div class="section">第三页</div>
    <div class="section">第四页</div>
</div>

section竖向滚动,section内的slide横向滚动;section默认显示第一页

激活fullpage效果:

$(document).ready(function(){
    $("#fullpage").fullpage();
})

fullpage基本配置项

sectionsColor:为每个section设置背景色background-color

sectionsColor:["pink","green","blue","gray"]

controlArrows:定义是否通过箭头控制slide幻灯片,默认true;设置为false则幻灯片左右两侧箭头消失,移动设备上也可以通过滑动操作幻灯片。
verticalCentered:每一项内容是否垂直居中,默认true;一般保持默认值
resize:字体是否随着窗口缩放而缩放,默认false
scrollingSpeed:滚动速度,单位毫秒,默认700
anchors:定义锚链接,默认为[];定义锚链接时值不要和页面中任意的id或name相同,尤其是在IE浏览器下;而且定义时不要加#;锚链接会为每个section增加一个链接,显示在地址栏中,不可重复,与section一一对应;定义锚链接后比如收藏时会直接定位到收藏的页面;直接定位到某个页面也可以通过给该section添加一个active类做到

anchors:["page1","page2","page3","page4"]

lockAnchors:是否锁定锚链接,默认false;如果设置为true,定义的锚链接也就是anchors属性则无效。该配置项使用的较少
easing:定义页面section滚动的动画方式,默认为easeInOutCubic,如果要修改此项,需引入jquery.easing插件或者jquery ui。
css3:是否使用css3 transforms来实现滚动效果,默认true;该配置项可以提高支持css3的浏览器比如移动设备等的速度,如果浏览器不支持css3则会使用jquery来替代css3实现滚动效果;chrome、firefox、360浏览器下设置为false则页面不能滚动。
loopTop:滚动到最顶部后是否连续滚动到底部,默认false
loopBottom:滚动到最低部后是否连续滚动回顶部,默认false
loopHorizontal:横向slide幻灯片是否循环滚动,默认为true
autoScrolling:是否使用插件的滚动方式,默认true;如若设置为false则会出现浏览器自带的滚动条,将不会按页滚动,而是按照滚动条的默认行为来滚动。
scrollBar:是否包含滚动条,默认false;若设置为true则浏览器自带的滚动条出现,页面滚动时还是按页滚动,但是滚动条的默认行为也有效
autoScrolling和scrollBar同时设置为true,则页面不能滚动
autoScrolling和scrollBar同时设置为false,则页面出现滚动条,按照滚动条的默认行为来滚动
autoScrolling:false 同时scrollBar:true,页面出现滚动条,按照滚动条的默认行为来滚动
paddingTop/paddingBottom:设置每一个section顶部和底部的padding,默认都是0;一般如果要设置一个固定在顶部或者底部的菜单、导航、元素等时,可以使用这两个配置项。

paddingTop:"20px",
paddingBottom:"20px"

fixedElements:固定的元素,默认为null,需配置一个jquery选择器;在页面滚动时fixedElements设置的元素固定不动。
注意:配置了该项的同时需给元素写固定定位的样式;如果不配置该项,而是只给#fullpage外需固定定位的元素写固定定位的样式,该元素在页面滚动过程中会被覆盖掉(若想不被覆盖掉,可以给z-index设置一个很大的值,如z-index:1000)。

<div id="header">header</div>
<div id="fullpage">
    <div class="section">
        <h1>第一页</h1>
    </div>
    <div class="section">
        <div class="slide">1</div>
        <div class="slide">2</div>
        <div class="slide">3</div>
        <div class="slide">4</div>
    </div>
    <div class="section">第三页</div>
</div>
#header{
    height: 50px;
    width: 100%;
    line-height:50px;
    font-size:24px;
    background:red;
    position:fixed;
    top:20px;
}

同时设置

fixedElements:"#header"

仅仅写css可以达成上述效果,如:

#header{
    height: 50px;
    width: 100%;
    line-height:50px;
    font-size:24px;
    background:red;
    position:fixed;
    top:20px;
    z-index:1000;
}

keyboardScrolling:是否可使用键盘方向键导航,默认true
touchSensitivity:在移动设备中滑动页面的敏感性,默认5,按百分比衡量,最高100,越大则越难滑动。
continuousVertical:是否循坏滚动,默认false;若设置为true,则页面会顺滑地循环滚动,而不是像loopTop或loopBottom那样出现跳动。++这个属性和loopTop\loopBottom不兼容,不要同时设置;若scrollBar设置为true则也不兼容,页面不能滚动++
animateAnchor:锚链接是否可以控制滚动动画,默认true;若设置为false,则通过锚链接定位到某个页面显示不再有动画效果。
recordHistory:是否记录历史,默认true,可记录页面滚动的历史,通过浏览器的前进后退来导航;若设置了autoScrolling:false,那么这个配置也将被关闭,即设置为false。
menu:绑定菜单,设定相关属性与anchors的值对应后,菜单可以控制滚动,默认为false。可以设置为菜单的jquery选择器。例:

<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="fullpage">
    <div class="section">第一页</div>
    <div class="section">第二页</div>
    <div class="section">第三页</div>
    <div class="section">第四页</div>
</div>

css

<!--将ul固定在页面顶部-->
ul{
    position:fixed;
    top:0;
    right:0;
    left:0;
    height: 50px;
    background:#fff;
    color:#000;
    z-index:1000;
    list-style:none;
    margin:0;
    padding:0;
}   
ul li{
    width: 25%;
    height: 50px;
    line-height: 50px;
    float:left;
    font-size:12px;
    vertical-align:center;
}

配置项:

anchors:["page1","page2","page3","page4"],
menu:"#fullpageMenu"

navigation:是否显示导航,默认false;如果设置为true,会显示小圆点作为导航。
navigationPosition==:导航小圆点的位置,可设置为left或right;默认right。
navigationTooltips:导航小圆点的tooltips设置,默认为[],注意按照顺序设置。(鼠标点击小圆点时会显示什么文字)
showActiveTooltip:是否显示当前页面的导航的tooltip信息,默认false。
slidesNavigation:是否显示横向幻灯片slide的导航,默认false。
slidesNavPosition:横向幻灯片slide导航的位置,默认为bottom,可以设置为top或bottom。
scrollOverflow:内容超过满屏后是否显示滚动条,默认false。如果设置为true,则会显示滚动条,如果要滚动查看内容,还需要jquery.slimscroll插件的配合。slimscroll插件主要用于模拟传统的浏览器滚动条。
sectionSelector:section的选择器,默认.section。
slideSelector:slide的选择器,默认.slide。

方法:

$.fn.fullpage.方法名称()
moveSectionUp():向上滚动一页。
moveSectionDown():向下滚动一页。
moveTo(section,slide):滚动到第几页第几张幻灯片(参数为整数,页面从1开始,幻灯片从0开始)。
silentMoveTo(section,slide):和moveTo(section,slide)一样,但是没有动画效果。
moveSlideRight():幻灯片向右滚动。
moveSlideLeft():幻灯片向左滚动。
setAutoScrolling(boolean):动态设置autoScrolling
setLockAnchors(boolean):动态设置lockAnchors
setRecordHistory(boolean):动态设置recordHistory
setScrollingSpeed(milliseconds):动态设置scrollingSpeed
setAllowScrolling(boolean,[directions]):添加或删除鼠标/滑动控制;第一个参数为true时启用,false禁用;后面的参数为方向,取值包含all、up、down、left、right,可以使用多个,用逗号分隔。(比如在做有奖问答页面时,提问的问题在前面的页面有答案,当滚动到最后一页时不希望用户再滚动回之前的页面查看答案,就可以使用这种方法)
destroy(type):销毁fullpage特效,type可以不写,或者使用all;不写type,fullpage给页面添加的样式和html元素还在;如果使用all,则样式、html等全部销毁,页面恢复和不使用fullpage相同的效果。
reBuild():重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果。

lazy loading

<img data-src="image.png" alt="">
<video data-src="video.webm"></video>
<video data-src="video.webm"></video>
通过把src换为data-src实现。

fullpage回调函数

afterLoad(anchorLink,index):滚动到某一屏后(滚动结束后)的回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号,从1开始计算。
onLeave(index,nextIndex,direction):离开一个section时会触发一次该回调函数。index 是离开的“页面”的序号,从1开始计算;
nextIndex 是滚动到的“页面”的序号,从1开始计算;direction 判断往上滚动还是往下滚动,值是 up 或 down。
通过return false可以取消滚动。
afterRender():页面结构生成后的回调函数,或者说页面初始化完成后的回调函数。
afterResize():浏览器窗口尺寸改变后的回调函数。
afterSlideLoad(anchorLink,index,slideIndex,direction):滚动到某一水平滑块后的回调函数,与 afterLoad 类似。
onSlideLeave(anchorLink,index,slideIndex,direction):离开一个slide时会触发一次该回调函数,和onLeave类似。

onSlideLeave:function(page2,slide2,slide3,left){
    console.log("sss")
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • 学习 jQuery-fullPage.js 插件已经两天,参照网上的案例仿造了一个“魅族Note2官网”网页,中间...
    seporga阅读 6,321评论 2 11
  • 前端开发面试题 <a name='preface'>前言</a> 只看问题点这里 看全部问题和答案点这里 本文由我...
    自you是敏感词阅读 732评论 0 3
  • 在页面引入,需要先引入jQuery 进入cdnjs官网,搜索fullpagejquery.fullPage.css...
    质真如渝阅读 4,651评论 1 6
  • fullpage配置项 调用fullpage.js$('#fullpage').fullpage() sectio...
    LeoCong阅读 3,344评论 0 2
  • 沟通四步曲 1.表达你要的,而不是不要的。 2.表达你的感受,而不是情绪;(如:表达自己是愤怒的,而不是愤怒地去表...
    Wing丶Chu阅读 465评论 0 4