一、简介
fullPage.js 是一个基于jQuery的插件,它能够很方便、很轻松的制作出全屏网站,主要功能有:
1.支持鼠标滚动
2.多个回调函数
3.支持手机、平板触屏事件
4.支持css3动画
5.支持窗口缩放
6.窗口缩放时自动调整
7.可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等
二、获取方式:
github主页:https://github.com/alvarotrigo/fullPage.js
三、兼容性及大小、版本
1.支持所有主流浏览器,除IE6、IE7
2.仅7kb
3.最新版本是V2.6.7
四、如何使用:
1、引入相关文件
css文件:jquery.fukkPage.css
jquery文件:1.6以上版本即可
easing文件:jquery.easing.js,支持更多动画过渡效果的插件,可选的,非必须
fullPage文件:jquery.fullPage.js
注意:
可以使用cdn上的文件,而非本地文件,当部署到自己网站时,可以减轻自己服务器的压力,提高用户的访问速度
可到 https://cdnjs.com 上去搜索fullPage,该网cdn上的fullPage.js版本是最新的
2、页面的基本结构
<div id="fullpage"> <div class="section"> //每一个session对应一个页面 <div class="slide">slide1</div>//可以给每个页面加slide幻灯片 <div class="slide">slide2</div> <div class="slide">slide3</div> </div> <div class="section"><h1>这是第二屏</h1></div> <div class="section">content</div> </div>
3、要想激活fullpage效果,需要加入:
<script> $(document).ready(function(){ $(‘#fullpage‘).fullpage(); })//在加载fullpage的时候引入fullpage方法。 </script>
五、配置项
1.sectionColor:
可以为每一个section设置background-color属性。
例如:
$(‘#fullpage‘).fullpage({
sectionColor: [‘green‘,‘orange‘,‘gray‘,‘red‘];
});
2.controlArrows:
定义是否通过箭头来控制slide幻灯片,默认为true。当我们设置为false,则幻灯片左右两侧的的箭头就会消失,在移动设备上,我盟,可以通过滑动来操作幻灯片。
3.verticalCentered:
每一页的内容是否垂直居中,默认为true。一般我们保持默认值
4.resize:
字体是否随着窗口缩放而缩放,默认为false
5.scrollingSpeed:
滚动速度,单位为毫秒,默认为700
6.anchors:
定义锚链接,默认值为[]。有了锚链接,用户就可以快速打开定位到某一页面。
注意定义锚链接的时候,值不要和页面中任意id或name相同,尤其是在IE浏览器下,而且定义时不需要加#
7.lockAnchors:
是否锁定锚链接,默认为false。如果设置为true,那么定义的锚链接,也就是anchors属性则没有效果,这个配置项使用比较少
8.active:
在页面中为某一个section添加了active之后,默认当窗口打开时会定位到此active,显示当前页
<div class="section active"></div>
9.easing:
定义页面section滚动的动画方式,默认为easeInOutCubic,如果修改此项,需要引入jquery。easings插件,或者jquery ui。
10.css3:
是否使用css3 transforms来实现滚动效果,默认为true。这个配置项可以提高支持css3的浏览器,比如移动设备等的速度,如果浏览器不支持css3,则会使用jquery来替代css3实现滚动效果。即优雅降级,使用jquery实现动画,一般来说,它的性能不如css动画来得快。
11.loopTop:
滚动到最顶部后是否连续滚动到底部,默认为false。
12.loopBottom:
滚动到最底部后是否连续滚动回顶部,默认为false。
13.loopHorizontal:
横向slider幻灯片是否循环滚动,默认为true。设置为false时,在第一个slider时,没有向左滚动的箭头,不能向左滚动。同理,最后一个slider时,没有向右滚动的箭头,不能向右滚动。
14.autoScrolling:
是否使用插件的滚动方式,默认为true,如果选择false,则会出现浏览器自带的滚动条,将不会按页滚动,而是按照滚动条的默认行为来滚动。
15.scrollBar:
是否包含滚动条,默认为false,如果设置为true,则浏览器自带的滚动条出现,页面滚动时还是按页滚动,但是滚动条的默认行为也有效。
16.paddingTop/paddingBottom:
设置每一个section顶部和底部的padding,默认都为0.一般如果我们需要设置一个固定在顶部或者底部的菜单、导航、元素等,可以使用这两个配置项。
17.fixedElements:
固定的元素,默认为null,需要配置一个jquery选择器。在页面滚动的时候,fixedElements设置的元素固定不动。
18.keyboardScrolling:
是否可以使用键盘方向键导航,默认为true。
19.touchSensitivity:
在移动设备中滑动页面的敏感性,默认为5,是按百分比来衡量,最高为100,越大则越难滑动。
20.continuousVertical:
是否循环滚动,默认为false。如果设置为true,则页面会循环滚动,而不像loopTop或loopBottom那样出现跳动,注意这个属性和loopTop、loopBottom不兼容,不要同时设置。
21.animateAnchor:
锚链接是否可以控制滚动动画,默认为true。如果设置为false,则通过锚链接定位到某个页面显示不再有动画效果。
22..recordHistory:
是否记录历史,默认为true,可以记录页面滚动的历史,通过浏览器的前进后退来导航。注意如果设置了autoScrolling:false,那么这个配置也将被关闭,即设置为false。
23.menu:
绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动,默认为false。可以设置为菜单的jquery选择器
24..navigation:
是否显示导航,默认为false。如果设置为true,会显示小圆点,作为导航。
25.navigationPosition:
导航小圆点的位置,可以设置为left或right。
26.navigationTooltips:
导航小圆点的tooltips设置鼠标经过时显示的名字,默认为[],注意按照顺序设置。
27.showActiveTooltip:
是否显示当前页面的导航的tooltip信息,默认为false
28.slidesNavigation:
是否显示横向幻灯片的导航,默认false。
29.slidesNavPosition:
横向幻灯片导航的位置,默认为bottom,可以设置为top或bottom
30.scrollOverflow:
内容超过满屏后是否显示滚动条,默认为false。如果设置为true,则会显示滚动条,如果要滚动查看内容,还需要jquery.slimscroll插件的配合。
31.slimscroll:
插件主要用于模拟传统的浏览器滚动条。
32.sectionSelector:
section的选择器,默认为.section。
33.slideSelector:
slide的选择器,默认为.slide。
六、方法
1.moveSectionUp():
向上滚动一页
2.moveSectionDown():
向下滚动一页
3.moveTo(section,slide):
滚动到第几页,第几个幻灯片,注意,页面是1开始,而幻灯片,是从0开始。
4.slientMoveTo(section,slide):
滚动到第几页,和moveTo一样,但是没有动画效果。
5.moveSlideRight():
幻灯片向右滚动
6.moveSlideLeft():
幻灯片向左滚动。
7.slientMoveTo(section,slide):
滚动到第几页,和moveTo一样,但是没有动画效果。
8.moveSlideRight():
幻灯片向右滚动
9.moveSlideLeft():
幻灯片向左滚动
10.setAutoScrolling(boolean):
动态设置autoScrolling
11.setLockAnchors(boolean):
动态设置lockAnchors
12.setRecordHistory(boolean):
动态设置recordHistory
13.setScrollingSpeed(milliseconds):
动态设置scrollingSpeed
14.setAllowScrolling(boolean,[directions]):
添加或删除鼠标滚轮/滑动控制,第一个参数true为启用,false为禁用,后面的参数为方向,取值包含all,up,down,left,right,可以使用多个,逗号分隔
比如我们在做一个有奖问答页面,提问的问题在前面的页面有答案,当滚动到最后一页时,不希望用户在滚动回之前的页面查看答案,就可以使用这样的方法。
15.destroy(type)
销毁fullpage特效,type可以不写,或者使用all,不写type,fullpaga给页面添加的样式和html元素还在,如果使用all,则样式、html等全部销毁,页面恢复和不使用fullpage相同的效果。
16.reBuild()
重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果。
七、fullPage支持延迟加载图片和视频(Lazy Loading)
1.图片:
<img daye-src="image.png">
2.视频:
<video>
<source data-src="video.webm" type="video/webm" />
<source data-src="video.mp4" type="video/mp4" />
</video>
八、回调函数
1.afterLoad(anchorLink,index)
滚动到某一section,且滚动结束后,会触发一次此回调函数,函数接受anchorLink和index两个参数,anchorLink是锚链接的名称,index是序号,从1开始计算。
我们可以根据anchorLink和index参数值的判断,触发相应的事件。
2.onleave(index,nextIndex,direction)
在我们离开一个section时,会触发一次此回调函数,接受index、nextIndex和direction 3个参数:
index是离开的“页面”的序号,从1开始计算;
nextIndex是滚动到的目标“页面”的序号,从1开始计算;
direction判断往上滚动还是往下滚动,值是up或down。
通过return false;可以取消滚动
3.afterRender()
页面结构生成后的回调函数,或者说页面初始化完成后的回调函数。
4.afterResize()
浏览器窗口尺寸改变后的回调函数
5.afterSlideLoad(anchorLink,index,slideAnchor,slideIndex)
滚动到某一幻灯片后的回调函数,与afterLoad类似,接受anchorLink、index、slidIndex、direction4个参数。
6.onSlideLeave(anchorLink,index,slideIndex,direction,nextSlideIndex)
在我们离开一个slide时,会触发一次此回调函数,与onLeave类似,接收anchorLink、index、slideIndex、direction4个参数
九、实现效果
.设计页面
.准备文字和图片素材
.按照设计实现基本的页面效果
.实现动画
十、Move.js
1.set()方法用于设置元素的css属性,他带有两个参数:css属性和属性值。
2.scale()方法用于放大或压缩元素的大小,按照提供的每一个值,将调用transform的scale方法。
3.rotate(deg)方法通过提供的数值作为参数来旋转元素。当方法被调用的时候通过附加到元素的transform属性上。
4.eng()方法用于Move.js代码片段的结束,它标识动画的结束。技术上,该方法触发动画的播放。该方法接受一个可选的callback回掉函数。