配置项:
//激活fullpage效果
$("#fullpage").fullpage({
//绑定菜单,设定的相关属性与设定的相关属性与anchors的值对应后,菜单可以控制滚动,默认为false,可以设置为菜单的jQuery选择器。
menu: "#menu",
//设置每个section的背景颜色
sectionsColor:["#f267ac","#c32a56"],
//是否显示幻灯片箭头,默认为true
controlArrows:false,
//定义锚链接,默认值为[].有了锚链接,用户就可以快速打开定位到某一页面。注意定义锚链接的时候,值不要和页面中任意的id或name相同。
anchors:["page1","page2","page3","page4"],
//固定的元素,默认为null,需要配置一个jQuery选择器。在页面滚动的时候,fixedElements设置的元素固定不动。
fixedElements: "#menu",
//是否显示导航,默认为false。如果设置为true,会显示小圆点,作为导航
navigation: true,
//导航小圆点的位置,默认right,可以设置为left
navigationPosition: "left",
//导航小圆点的tooltips设置,默认为[],注意按照顺序设置。
navigationTooltips:["关于我","个人技能","兴趣爱好","联系我"],
//是否显示横向幻灯片的导航,默认为false
slidesNavigation:true,
//是否记录历史,默认为true,可以记录页面滚动的历史,通过浏览器的前进后退来导航。
recordHistory:false
//是否显示横向幻灯片的导航,默认为false。如果设置为true,则会显示滚动条,如果要滚动查看内容,还需要jQuery.scrolloverflow插件的配合。
scrollOverflow: true
//横向幻灯片导航的位置,默认为bottom,可以设置为top
slidesNavPosition: "top"
//是否显示当前页面的导航tooltip信息,默认为false
showActiveTooltip:true
//锚链接是否可以控制滚动动画,默认为true,如果设置为false,则通过锚链接定位到某个页面显示不再有动画效果。
animateAnchor:false,
//每一页的内容是否垂直居中,默认为true
verticalCentered: true
//字体是否随窗口缩放而缩放,默认为false
resize:true
//滚动速度,单位为毫秒,默认为700
scrollingSpeed:700
//滚动到最顶部后是否连续滚动到底部,默认为false
loopTop:true
//滚动到最底部后是否连续滚动回顶部,默认为false
loopBottom:true
//横向slider幻灯片是否循环滚动,默认为true
loopHorizontal:false
//是否使用插件的滚动方式,默认为true,如果选择false,则会出现浏览器自带的滚动条,将不会按页滚动,而是按照滚动条的默认行为来滚动。
autoScrolling:false
//是否包含滚动条,默认为false,如果设置为true,则浏览器自带的滚动条出现,页面滚动时还是按页滚动,但是滚动条的默认行为也有效
scrollBar:true
//设置每一个section顶部和底部的padding,默认都为0.
paddingTop:"10em",
paddingBottom:"100px"
//是否可以使用键盘方向键导航,默认为true
keyboardScrolling:false
//在移动设备中滑动页面的敏感性,默认为5,是按百分比来衡量,最高为100,越大则越难滑动
touchSensitivity: 15
//是否循环滚动,默认为false。如果设置为true,则页面会循环滚动,而不像loopTop或loopBottom那样出现跳动,注意这个属性和loopTop、loopBottom不兼容,不要同时设置。
continuousVertical:true
//section的选择器,默认为.section
sectionSelector:".section"
//slide的选择器,默认为.slide
slideSelector:".slide"
});
fullpage方法:
所有的方法都用如下格式:
$.fn.fullpage.xxx();
moveSectionUp():
向上滚动一页。
moveSectionDown():
向下滚动一页。
moveTo(section,slide):
滚动到第几页,第几个幻灯片,注意,页面是从1开始,而幻灯片是从0开始。
silentMoveTo(section,slide):
滚动到第几页,和moveTo一样,但是没有动画效果。
moveSlideRight():
幻灯片向右滚动。
moveSlideLeft():
幻灯片向左滚动。
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">
视频:
<video> <source data-src="video.webm" type="video/webm" /> <source data-src="video.mp4" type="video/mp4" /> </video>
回调:
afterLoad(anchorLink,index)
滚动到某一section,且滚动结束后,会触发一次此回调函数,函数接收 anchorLink 是锚链接的名称, index 是序号,从1开始计算。
我们可以根据 anchorLink 和 index 参数值的判断,触发相应的事件。
例子:
afterLoad: function (anchorLink, index) { console.log('afterLoad:anchorLink=' + anchorLink + '; index=' + index); }
控制台打印出:
onLeave(index,nextIndex,direction)
在我们离开一个 section 时,会触发一次此回调函数,接收 index、nextIndex 和 direction 3个参数:
index:是离开的“页面”的序号,从1开始计算;
nextIndex:是滚动到的目标“页面”的序号,从1开始计算;
direction:判断往上滚动还是往下滚动,值是 up 或 down。
通过 return false;可以取消滚动。
例子:
onLeave: function (index, nextIndex, direction) { console.log('onLeave:index=' + index + '; nextIndex=' + nextIndex + ';direction=' + direction); }
当我从第一个section滚动到第二个section时控制台打印出:
afterRender()
页面结构生成后的回调函数,或者说页面初始化完成后的回调函数。
afterResize()
浏览器窗口尺寸改变后的回调函数。
afterSlideLoad(anchorLink,index,slideAnchor,slideIndex)
滚动到某一幻灯片后的回调函数,与 afterLoad 类似。
onSlideLeave(anchorLink,index,slideIndex,direction,nextSlideIndex)
在我们离开一个slide时,会触发一次此回调函数,与onLeave类似。
anchorLink:锚链接的名称;
index:当前页面的序号;
slideIndex:离开的“幻灯片”的序号,从0开始计算;
direction:判断是向左还是向右滑动,值是 right 或 left;
nextSlideIndex:是滑动到的目标“幻灯片”的序号,从0开始计算。
例子:
onSlideLeave: function (anchorLink, index, slideIndex, direction, nextSlideIndex) { console.log('anchorLink:' + anchorLink + ';index:' + index + ';slideIndex:' + slideIndex + ';direction:' + direction + ';nextSlideIndex:' + nextSlideIndex); }
当我从第一个 slide 滑动到第二个 slide 时控制台打印出: