fullpage.js

配置项:

  //激活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 时控制台打印出:

原文地址:https://www.cnblogs.com/jongsuk0214/p/6941338.html