首页 > 网站 > WEB开发 > 正文

FullPage.js全屏滚动插件学习总结

2024-04-27 15:02:31
字体:
来源:转载
供稿:网友

如今我们经常能见到全屏网站,尤其是国外网站。这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次。比如 iphone 5C 的介绍页面(查看),QQ浏览器的官网站。如果你也希望你的网站能设计成全屏的,显得更上档次,你可以试试 fullPage.js

主要功能有:

支持鼠标滚动

支持前进后退和键盘控制

多个回调函数

支持手机、平板触摸事件

支持 CSS3 动画

支持窗口缩放

窗口缩放时自动调整

可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等

实例代码展示

<!DOCTYPE html><html><head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="renderer" content="webkit">    <title>fullpage</title>    <meta name="description" content="">    <meta name="keyWords" content="">    <meta name="author" content="Jesse">    <link href="https://cdnjs.cloudflare.com/Ajax/libs/fullPage.js/2.7.4/jquery.fullPage.css" rel="stylesheet">    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.7.4/jquery.fullPage.js"></script></head><body><!--     <ul id="fullpageMenu" style="position:fixed;top:100px;right:20px;z-index:999;">        <li data-menuanchor="page1" class="active"><a href="#page1">1</a></li>        <li data-menuanchor="page2" ><a href="#page2">2</a></li>        <li data-menuanchor="page3"><a href="#page3">3</a></li>        <li data-menuanchor="page4" ><a href="#page4">4</a></li>        <li data-menuanchor="page5" ><a href="#page5">5</a></li>    </ul> -->    <div id="header" style="position:fixed;top:20px;right:20px;font-size: 30px;color:#fff;">123</div>    <div id="fullpage">        <div class="section">section1</div>        <div class="section">section2</div>        <div class="section">            <div class="slide"> Slide 1 </div>            <div class="slide"> Slide 2 </div>            <div class="slide active"> Slide 3 </div>            <div class="slide"> Slide 4 </div>        </div>        <div class="section">section4</div>        <div class="section">section5</div>    </div>    <script>    $(document).ready(function() {        $('#fullpage').fullpage({            //配置项介绍            //sectionsColor为每个section设置background-color属性            sectionsColor:['green','orange','gray','red','yellow'],            //controlArrows定义是否通过箭头来控制slide,默认true            controlArrows:false,            //verticalCentered定义每一页的内容是否垂直居中,默认true            verticalCentered:false,            //resize字体是否随窗口缩放而缩放,默认false            resize:true,            //scrollingSpeed设置滚动速度,单位毫秒,默认700            scrollingSpeed:1000,            //anchors定义锚链接,默认为[],定义锚链接时,值不要和页面中的任何ID或name相同,且不需要加#            anchors:['page1','page2','page3','page4','page5'],            //lockAnchors是否锁定锚链接,默认为false,设为true后链接地址不会改变            // lockAnchors:true,            //easing定义页面section滚动的动画方式,默认为easeInOutCubic,若修改此项需引入jquery.easing插件            //css3是否使用CSS3 transforms来实现滚动效果,默认为true。若浏览器不支持CSS3,则会用Jquery来实现            //css3:false,            //loopTop滚动到最顶部后是否连续滚动到底部,默认为false            //loopBottom滚动到最低部后是否连续滚动到顶部,默认为false            //loopHorizontal横向slide幻灯片是否循环滚动,默认为true            //autoScrolling是否使用插件的滚动方式,默认为true,若为false则会出现浏览器自带滚动条                //scrollBar是否包含滚动条,默认为false,若为true浏览器自带滚动条出现            //paddingTop/paddingBottom设置每一个section顶部和底部的padding,默认为0            //fixedElements固定元素,默认为null,需要配置一个jquery选择器,在页面滚动时,fixElements设置的元素不滚动            fixedElements:"#header",            //keyboardScrolling是否可以使用键盘方向键导航,默认为true            //touchSensitivity在移动设备中滑动页面的敏感性,默认为5最高100,越大越难滑动            //continousVertical是否循环滚动,默认为false,注意这个属性和loopTop loopBottom不兼容,不能同时设置            //animateAnchor锚链接是否可以控制滚动动画,默认为true,若为false则锚链接定位失效            //recordHistory是否记录历史,默认为true,通过浏览器的前进后退来导航。若设置autoScrolling:false,那么这个属性将被关闭            //menu绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动条,默认为false。可设置为菜单的jquery选择器            //menu:"#fullpageMenu",            //navigation是否显示导航,默认为false            navigation:true,            //navigationPosition导航小圆点的位置            navigationPosition:"right",            //navigationTooltips导航小圆点的提示,注意按顺序设置            navigationTooltips:['page1','page2','page3','page4','page5'],            //showActiveTooltip是否显示当前页面的tooltip信息,默认为false            //slidesNavigation 是否显示横向幻灯片的导航,默认为false            slidesNavigation:true,            //slidesNavPosition横向导航的位置,默认为bottom,可以设置为top或bottom            slidesNavPositon:"top",            //scrollOverflow内容超过满屏后是否显示滚动条,默认为false,如果为true则会显示滚动条,若需滚动查看内容还需要jquery.slimscroll插件的配合            //sectionSelector:section选择器。默认为.section            //slideSelector:slide选择器,默认为.slide            //方法介绍            //$.fn.fullpage.***()            //moveSectionUp()向上滚动一页            //moveSectionDown()向下滚动一页            //moveTo(section,slide)section从1开始,slide从0开始            //silentMoveTo(section,slide)和moveTo一样,但是没有滚动效果            //moveSlideRight()幻灯片向右滚动            //moveSlideLeft()幻灯片向左滚动            //setAutoScrolling(boolean):动态设置autoScrolling            //setLockAnchors(boolean):动态设置lockAnchors            //setRecordHistory(boolean):动态设置recordHistory            //setScrollingSpeed(milliseconds):动态设置scrollingSpeed            //destory(type)销毁fullpage,type可以不写或者使用all            //reBuild()重新更新页面和尺寸,用于ajax请求改变页面结构后重建效果            //lazyLoading        });    });    </script></body></html>

使用方法

1、引入文件

<link rel="stylesheet" href="css/jquery.fullPage.css"><script src="js/jquery.min.js"></script><!-- jquery.easings.min.js 是必须的,用于 easing 参数,也可以使用完整的 jQuery UI 代替 --><script src="js/jquery.easings.min.js"></script><!-- 如果 scrollOverflow 设置为 true,则需要引入 jquery.slimscroll.min.js,一般情况下不需要 --><script src="js/jquery.slimscroll.min.js"></script><script src="js/jquery.fullPage.js"></script>

2、HTML

<div id="fullpage">    <div class="section">第一屏</div>    <div class="section">第二屏</div>    <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>

 

3、javaScript

$(function(){    $('#fullpage').fullpage();});

 

配置

1、选项

verticalCentered字符串true内容是否垂直居中
resize布尔值false字体是否随着窗口缩放而缩放
slidesColor函数设置背景颜色
anchors数组定义锚链接
scrollingSpeed整数700滚动速度,单位为毫秒
easing字符串easeInQuart滚动动画方式
menu布尔值false绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动
navigation布尔值false是否显示项目导航
navigationPosition字符串right项目导航的位置,可选 left 或 right
navigationColor字符串#000项目导航的颜色
navigationTooltips数组项目导航的 tip
slidesNavigation布尔值false是否显示左右滑块的项目导航
slidesNavPosition字符串bottom左右滑块的项目导航的位置,可选 top 或 bottom
controlArrowColor字符串#fff左右滑块的箭头的背景颜色
loopBottom布尔值false滚动到最底部后是否滚回顶部
loopTop布尔值false滚动到最顶部后是否滚底部
loopHorizontal布尔值true左右滑块是否循环滑动
autoScrolling布尔值true是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条
scrollOverflow布尔值false内容超过满屏后是否显示滚动条
css3布尔值false是否使用 CSS3 transforms 滚动
paddingTop字符串0与顶部的距离
paddingBottom字符串0与底部距离
fixedElements字符串 
normalScrollElements  
keyboardScrolling布尔值true是否使用键盘方向键导航
touchSensitivity整数5 
continuousVertical布尔值false是否循环滚动,与 loopTop 及 loopBottom 不兼容
animateAnchor布尔值true 
normalScrollElementTouchThreshold整数5 

2、方法

moveSectionUp()向上滚动
moveSectionDown()向下滚动
moveTo(section, slide)滚动到
moveSlideRight()slide 向右滚动
moveSlideLeft()slide 向左滚动
setAutoScrolling()设置页面滚动方式,设置为 true 时自动滚动
setAllowScrolling()添加或删除鼠标滚轮/触控板控制
setKeyboardScrolling()添加或删除键盘方向键控制
setScrollingSpeed()定义以毫秒为单位的滚动速度

3、回调函数

afterLoad滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号,从1开始计算
onLeave滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:

index 是离开的“页面”的序号,从1开始计算;

nextIndex 是滚动到的“页面”的序号,从1开始计算;

direction 判断往上滚动还是往下滚动,值是 up 或 down。

afterRender页面结构生成后的回调函数,或者说页面初始化完成后的回调函数
afterSlideLoad滚动到某一水平滑块后的回调函数,与 afterLoad 类似,接收 anchorLink、index、slideIndex、direction 4个参数
onSlideLeave某一水平滑块滚动前的回调函数,与 onLeave 类似,接收 anchorLink、index、slideIndex、direction 4个参数

这款插件还在不断更新,想了解最新功能,推荐阅览官方文档


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表