×

全屏视觉差滚动插件-FullPage

作者:Terry2015.12.03来源:Web前端之家浏览:49883评论:1
关键词:FullPagejscss3html5

fullpage

说到滚屏插件,我主要接触过touchSwipe和FullPage,两者各有优点吧。就我个人认为,前者更加适合新手,简单,易上手;后者适合高端的开发者。

如今我们经常能见到全屏网站,尤其是国外网站。这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次。

今天主要想给大家介绍的是FullPage了,如何实现全屏滚动且实现视觉差效果,至于touchSwipe以后也会讲到。

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

  • 支持鼠标滚动

  • 支持前进后退和键盘控制

  • 多个回调函数

  • 支持手机、平板触摸事件

  • 支持 CSS3 动画

  • 支持窗口缩放

  • 窗口缩放时自动调整

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

兼容性

jQuery 兼容:

兼容 jQuery 1.7+

浏览器兼容:

IE8/谷歌/火狐/Opera/苹果浏览器

使用方法

1、引入文件:

<script src="js/jquery.min.js"></script>
<script src="js/jquery.fullPage.js"></script>

2、HTML:

<div id="article">        
        <div class="page section1 current">
            <div class="contain">
                <h3 class="title">这里是第一竖屏</h3>
                <h4 class="titleEng">This is section1</h4>
            </div>
        </div>
        <div class="page section2">
            <div class="contain">
                <h3 class="title">这里是第二竖屏</h3>
                <h4 class="titleEng">This is section2</h4>
            </div>
        </div>
        <div class="page section3">
            <div class="contain">
                <h3 class="title">这里是第三竖屏</h3>
                <h4 class="titleEng">This is section3</h4>
            </div>
        </div>
        <div class="page section4">
            <div class="contain">
                <h3 class="title">这里是第四竖屏</h3>
                <h4 class="titleEng">This is section4</h4>
            </div>
        </div>
</div>

每个page代表一屏,默认显示“第一屏”,如果要指定加载页面时显示的“屏幕”,可以在对应的 page 加上 class="current”,如:

3、Javascript:

var interval;
runSection = new FullPage({
        id : 'article',                            // id of contain
        slideTime : 800,                               // time of slide
        effect : {                                     // slide effect
            transform : {
                translate : 'Y',                       // 'X'|'Y'|'XY'|'none'
                scale : [0, 1],                       // [scalefrom, scaleto]
                rotate : [0, 0]                       // [rotatefrom, rotateto]
            },
            opacity : [0, 1]                           // [opacityfrom, opacityto]
        },                           
        mode : 'touch,wheel',               // mode of fullpage
        easing : [0, .93, .39, .98],
        callback : function(index, thisPage) {     // callback when pageChange
           clearTimeout(interval);
        }
});

环境配置

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个参数

我们可以看下案例:DEMO

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/FullPage.html

网友评论文明上网理性发言 已有1人参与

发表评论:

评论列表

  • 静静的等待 静静的等待  发布于 2015-12-04 09:59:59   回复该评论
  • touchSwipe和FullPage差不多,怎么感觉touchSwipe更好用点呢,尤其是在做视觉差循环动画的时候