超级简单实用的前端必备技能-javascript-全屏滚动插件

  fullPage.js

 

fullPage.js是一个基于jQuery的全屏滚动插件,它能够很方便、很轻松的制作出全屏网站

 本章内容将详细介绍Android事件的具体处理及常见事件。

主要功能

  • 支持鼠标滚动
  • 支持前进后退和键盘控制
  • 多个回调函数
  • 支持手机、平板触摸事件
  • 支持 css3 动画
  • 支持窗口缩放
  • 窗口缩放时自动调整
  • 可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等

fullPage.js 支持 IE8+ 及其他现代浏览器

 

导入插件

<link rel="stylesheet" href="css/jquery.fullPage.css">
<script src="js/jquery.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/jquery.fullPage.js"></script>

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>

 

JS

$(function(){
    $('#fullpage').fullpage({
        'verticalCentered': false,
        'css3': true,
        'sectionsColor': ['#254875', '#00FF00', '#254587', '#695684'],
        anchors: ['page1', 'page2', 'page3', 'page4'],
        'navigation': true,
        'navigationPosition': 'right',
        'navigationTooltips': ['fullPage.js', 'Powerful', 'Amazing', 'Simple']
    })
})

 

 

 

 

 

/*组建好网页布局后,必须选中包裹所有 section 的  div 的  id,并调用 fullPage()方法,才能加载布局*/
                /*调用 fullPage() 方法后,可以给函数传入对象类型的参数,设置fullPage 的各种属性*/
                $('#fullPage').fullpage({
                    /*内容是否垂直居中,默认true*/
                    /*verticalCentered:true;*/
                    
                    /*字体是否随窗口缩放,默认false*/
                    /*resize:true;*/
                    
                    /*设置每一屏的背景色*/
                    /*sectionColor:["#FF0000","#00FF00","#0000FF"],*/
                    
                    /*设置每一屏的锚点,可以直接跳转到该屏*/
                    anchors:["page1","page2","page3"],
                    
                    /*设置单页滚动速度,默认700毫秒*/
//                    scrollingSpeed:300,
                    
                    /*设置滚动动画方式
                     * JQuery 只支持几种动画特效,更多动画特效,
                     */
//                    easing:"easeInQuart",
                    
                    /*绑定一个菜单   ,详见HTML
                     */
//                    menu:"#menu",
                    
                    /*navigation                 布尔值    false    是否显示项目导航小圆点
                     navigationPosition     字符串    right    项目导航的位置,可选 left 或 right
                     navigationColor           字符串    #000    项目导航的颜色
                     navigationTooltips           数组    空    项目导航的 tip 提示*/
                    navigation:true,
//                    navigationPosition:"left",
                    navigationTooltips:["第一页","第二页","第三页"],
                    
                    /*设置幻灯片的导航
                     * slidesNavigation      布尔值    false    是否显示左右滑块的项目导航
                      slidesNavPosition   字符串    bottom    左右滑块的项目导航的位置,可选 top 或 bottom*/
                    slidesNavigation:true,
                    
//                    controlArrowColor    字符串    #fff    左右滑块的箭头的背景颜色
                     controlArrowColor:"RGBA(0,0,0,0.3)",
                     
                     /*loopBottom                 布尔值    false    滚动到最底部后是否滚回顶部
                       loopTop                       布尔值    false    滚动到最顶部后是否滚底部
                       continuousVertical    布尔值    false    是否循环滚动,与 loopTop 及 loopBottom 不兼容
                       
                       * autoScrolling          布尔值    true    是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条*/
                      continuousVertical:true,
                      
                      
                      
                      /*设置幻灯片是否水平循环,默认true
                       loopHorizontal    布尔值    true    左右滑块是否循环滑动*/
                     loopHorizontal:false,
                     
                     
                     
                      /*scrollOverflow    布尔值    false    内容超过满屏后是否显示滚动条*/
                     
                     /*设置内容超出满屏区域后,是否显示滚动条,必须要导入scrolloverflow.js才能使用*/
                     
                
                     /*css3    布尔值    false    是否使用 CSS3 transforms 滚动
                      
                      * paddingTop    字符串    0    与顶部的距离
                        paddingBottom    字符串    0    与底部距离
                        * 
                       *
                        * keyboardScrolling    布尔值    true    是否使用键盘方向键导航
                        * */
                       
                       /*手持设备的触控灵敏度   数值越大越难翻页 100%屏幕高度*/
                     touchSensitivity:7,
                     /*浏览器直接大开指定锚点时是否滚动效果   animateAnchor   默认为true*/
                     
                     
                     /*回调函数
                      * 
                      * 
                      * 
                      * 
                      * 
                      * 
                      * 
                      * 
                      * 
                      * 
                      * afterLoad    滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数
                      * ,anchorLink 是锚链接的名称,index 是序号,从1开始计算    滚动到某一屏后的回调函数
                      * ,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是当前页面序号,从1开始计算*/
            
                   afterLoad:function(anchorLink,index){
                       console.log(index) ;
                       console.log(anchorLink);
                   },
                   
                   /*onLeave    滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:
                    *           index 是离开的“页面”的序号,从1开始计算;
                                nextIndex 是滚动到的“页面”的序号,从1开始计算;
                                direction 判断往上滚动还是往下滚动,值是 up 或 down。*/
                               
                     onLeave:function(index,nextIndex,direction){
                             console.log(index) ;
                                 console.log(nextIndex) ;
                                     console.log(direction) ;
                     },
                     
                     
                      
                     /*afterRender           页面结构生成后的回调函数,或者说页面初始化完成后的回调函数,先执行第一个页面的afterload , 然后在执行afterrender
                      */
                afterRender:function(){
                    console.log("这是afterRender   页面初次加载  执行一次的回调函数")
                    
                },
                
                
                /*/* afterSlideLoad          滚动到某一水平滑块后的回调函数,与 afterLoad 类似,
                                      接收 anchorLink、幻灯片所在的section的锚点
                                      index、幻灯片所在的section的序号
                                      slideIndex、 幻灯片自身的序号
                                      slideAnchor  ,   幻灯片自身的锚点(如果没有显示slideindex)                4个参数
                     
                     
                     
                     
                     onSlideLeave           某一水平滑块滚动前的回调函数,与 onLeave 类似,
                                                              当幻灯片离开换到另一张幻灯片时,触发                        
                                                               接收 anchorLink、index、slideIndex、direction、nextSlideIndex 5个参数
                                    anchorLink、幻灯片所在的section的锚点
                                      index、幻灯片所在的section的序号
                                      slideIndex、 幻灯片自身的序号
                                      direction、幻灯片移动的方向,left和right
                                      nextSlideIndex 、切换到的幻灯片的序号,从0开始
                 */
                });
                
                
            });

 

选项类型默认值说明
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个参数

转载于:https://www.cnblogs.com/undeceive/p/7536983.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值