如何用 fullPage.js 创建全屏视差滚动单页

问说网 · 发布于 2017-03-09 · 字数8481 · 浏览 2655 · 评论 0

使用fullPage.js,这个最受欢迎的单页滚动插件,利用其视差扩展(Parallax extension),在屏面背景上创建美妙的,甚至令人上瘾的视差效果:

如何用 fullPage.js 创建全屏视差滚动单页

我不知道你如何,但是,当我看到应用了这种效果的网站后,我都难以停止上上下下滑动页面!:) 真是太流畅了!

Fullpage.js可以免费无限制使用,视差扩展是需要付费的,请尊重开发作者的劳动成果,如果你有购买意图,可使用下面的优惠码获取折扣。

打造视差效果的过程很容易,我甚至都不知道是否该为此写文章一一赘述。
获取这一扩展也很容易,包括创建全屏视差单页网站,在 fullPage.js 初始化中使用 parallax:true,并将该元素加入每一屏(section)的 fp-bg class中。
对于那些不熟悉 fullPage.js 或运用 Javascript 有些困难的人来说,以下是详解过程:

  • 购买此扩展,使用促销代码 4china,获取20%折扣!
  • 按照发送给你的电子邮件说明,为域名获得激活密钥(之后在fullPage.js初始化中需要用它)。请不要混淆许可证密钥与激活密钥,需要使用许可证密钥获取域名的激活密钥。
  • 选添视差扩展文件。
  • 使用fullPage.js扩展时,需要使用 fullpage.extensions.min.js 而不是 jquery.fullpage.js 或 jquery.fullpage.min.js,在此文档中详细说明了。
  • 按照此文档中的详细说明,创建屏(section)和页(slide)的结构。
  • 通过在每一页和屏中添加 <div class="fp-bg"></div>,创建视差背景元素。
  • 使用CSS,向每个 fp-bg 元素中添加背景。

例如,如果有这样的一个屏(section):

<div class="section" id="section2">
    <div class="slide" id="slide2-1">Slide 2.1</div>
    <div class="slide" id="slide2-2">Slide 2.2</div>
</div>

通过添加 fp-bg 元素,可以为每个水平页(slide)分配背景:

<div class="section" id="section2">
    <div class="slide" id="slide2-1">
        <div class="fp-bg"></div>
        Slide 2.1
    </div>
    <div class="slide" id="slide2-2">
        <div class="fp-bg"></div>
        Slide 2.2
    </div>
</div>

在样式表(stylesheet)中为它们添加背景,正如添加至屛和页一样:

#slide2-1 .fp-bg{
    background-image: url('demo.jpg');
    background-size: cover;
}
#slide2-2 .fp-bg{
    background-image: url('demo2.jpg');
    background-size: cover;
}
  • 然后, 如此文档中所述,初始化 fullPage.js,并添加选项 parallax:true.
  • 同时必须添加选项 parallaxKey,在扩展所需的每个注册域中,输入激活密钥。

这样就可以了,如此就有一个美妙的、令人惊喜的视差网站啦,以上所述都在 fullPage.js 文档视差功能文档中以英文详细说明了。

下面是最终的演示代码:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="../jquery.fullPage.css" />

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script type="text/javascript" src="../fullpage.parallax.js"></script>
    <script type="text/javascript" src="../jquery.fullpage.extensions.js"></script>

    <script type="text/javascript">
    $(document).ready(function() {
        $('#myContainer').fullpage({
            parallax: true
            //any other options you want to configure go here
        });
    });
    </script>

    <style>
        /*
        * Titles for each section
        */
        .section{
            text-align: center;
        }
        h1{
            font-size: 5em;
        }

        /*
        * Setting the backgrounds for each section / slide
        */
        .fp-bg{
            background-size: cover;
        }
        #section1 .fp-bg{
            background-image: url('imgs/bg3.jpg');
        }
        #slide2-1 .fp-bg{
            background-image: url('imgs/bg5.jpg');
        }
        #slide2-2 .fp-bg{
            background-image: url('imgs/bg1.jpg');
        }
        #slide2-3 .fp-bg{
            background-image: url('imgs/bg2.jpg');
        }
        #section3 .fp-bg{
            background-image: url('imgs/bg3.jpg');
        }
    </style>
</head>
<body>

<div id="myContainer">
    <div class="section" id="section1">
        <div class="fp-bg"></div>
        <h1>Section 1</h1>
    </div>
    <div class="section" id="section2">
        <div class="slide" id="slide2-1">
            <div class="fp-bg"></div>
            <h1>Section 2</h1>
        </div>
        <div class="slide" id="slide2-2">
            <div class="fp-bg"></div>
            <h1>Slide 2.2</h1>
        </div>
        <div class="slide" id="slide3-3">
             <div class="fp-bg"></div>
            <h1>Slide 2.3</h1>
        </div>
    </div>
    <div class="section" id="section3">
        <div class="fp-bg"></div>
        <h1>Section 3</h1></div>
    </div>
</div>

</body>
</html>

嘿!如果你是那种喜欢玩转设置的人,这儿还有更多。

配置视差效果

可以使用选项 parallaxOptions,进一步控制各种效果。
请在此文档中了解更多选项。在此,我做了一些简要概述:

  • type:(默认 reveal)可以将其设置为 coverreveal。它控制当前屏在最终屏的上方或下方。如果选择覆盖(cover),下一屏或页会覆盖一部分当前屏或页;选择露出(reveal),则呈反转效果,当前屏或页会覆盖下一屏或页。
  • percentage: (默认值 62)定义了相对于视口的视差效果比率(percentage)。较小的值将具较弱的视差效果;最大值为100,将显示完全静态的背景。
  • property: (默认 translate)建议使用此选项的默认值。它定义是否要对 fp-bg 元素应用视差效果,或者只将它应用于屏或页的背景属性。
    建议使用默认值的原因是因为使用 fp-bg 元素提供了更好的性能,利用 translate3d 硬件加速。这个选项提供给那些,由于某些特定原因,不想在每个屏或页中添加额外的 fp-bg 元素,或不能修改 HTML 标记的开发者。

如何运用这些选项?简单得很:

$('#myContainer').fullpage({
    parallax: true
    parallaxOptions:{
        type: 'cover',
        percentage: 50
    }
});

如何将视差背景仅应用于特定屏?

这依旧很容易。不要在该屏中添加 fp-bg 元素,就可以了。
但是,当 propertybackground 时,就不可以了。不过也没有什么可担心的,不是么?正如我所说的,我一项建议使用默认选项:translate。:)

常见问题

为什么需要激活密钥才能使用扩展?

扩展许可证由要使用它的网站(域)的数量决定,扩展的价格也取决于此。
需要激活密钥来确保只可在许可所述数量的网站中使用该扩展。

可以在镜像网站中使用它,然后将其移至运营网站么?

是的,可以。必须先将镜像网站(staging site)注册在扩展中,然后,当你要将其移至运营网站时,请向我索要一个新的激活密钥。如果可能的话,请用英文沟通!:) 那样我会更快的回复你。

视差扩展是否与其他扩展和功能兼容?

是的。可以兼容大多数其他扩展和功能,除了在演示页面中“兼容性”链接下的那些,即拖动和移动(Drag And Move)、偏移屏(Offset Sections)和 fp-auto-heightfp-auto-heightresponsive 功能。

可以退款吗?

当然可以!在一些特定情况下,无论由于任何原因,你认为扩展无法达到预期的效果,只要你未将激活密钥用于任何域,便可以获得全额退款。

本文系作者 问说网 授权问说网发表,并经问说网编辑,转载请注明出处和 本文链接

相关文章

  • 2017-01-19用JavaScript实现给出的盒子的序列是否可连为一矩型
  • 2016-03-29使用CSS3制作细线边框的3种不同的写法
  • 2016-05-15整点有用的!做好扁平化设计的5个实战技巧
  • 2016-07-01ScrollPagination基于jQuery无限滚动加载插件
  • 2016-07-05刷流量的注意了使用流量宝可能会中毒!
  • 2016-07-06详细讲解JAVA中的IO流
  • 2016-07-06SSH环境搭建
  • 2016-07-16Canvas-nest.js超赞的网页粒子背景插件
  • 发布评论

    为您推荐

    十分钟搞清字符集和字符编码
    问说网 · 发布于 2016-07-15

    十分钟搞清字符集和字符编码

    在介绍字符集之前,我们先了解下为什么要有字符集。我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流。

    6个强大的AngularJS扩展应用[转]

    AngularJS现在非常热门,是Google推出的一款非常优秀的前端JS框架。AngularJS最核心的概念是MVC、模块化、自动化双向数据绑 定、语义化标签…

    • 6个强大的AngularJS扩展应用[转]
    • 6个强大的AngularJS扩展应用[转]
    • 6个强大的AngularJS扩展应用[转]
    • 6个强大的AngularJS扩展应用[转]
    问说网 · 发布于 2015-09-11 · 浏览 1615 · 评论 0
    问说网 · 发布于 2016-02-05

    meSpeak.js在Web上将文字转换为语音插件

    meSpeak.js是Speak.js插件的增强版,是一个100%使用客户端实现文字转换为语音的JavaScript插件,meSpeak.js基于Speak.j…

    用JavaScript实现给出的盒子的序列是否可连为一矩型
    AustenJuliet · 发布于 2017-01-19

    用JavaScript实现给出的盒子的序列是否可连为一矩型

    by cpglkg <script>var arr=[5,10,15];function rect(arr,width){ arr.sort(fun…

    问说网 · 发布于 2016-12-02

    Response JS创建高性能的支持移动设备的网站

    Response JS 是一个轻量级的 jQuery 插件,用来创建高性能的支持移动设备的网站。它提供了一套语法用来根据不同的设备环境动态替换HTML代码。例如…

    问说网 · 发布于 2016-06-30

    io.js衍生自Node.js并兼容npm的开发平台

    io.js 是一个衍生自 Node.js™,并兼容 npm 的开发平台,io.js与Node.js项目再次合并,不会有任何进一步的io.js释放。在io.js所…

    ScrollPagination基于jQuery无限滚动加载插件
    问说网 · 发布于 2016-07-01

    ScrollPagination基于jQuery无限滚动加载插件

    ScrollPagination是一个基于jQuery无限滚动加载插件,支持动画显示加载的内容,可自定义显示的偏移量,简单方便响应迅速的滚动加载插件。

    Vincent · 发布于 2016-07-06

    类和对象

    定义 1. 类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所因具有的静态属性(attibute)和动态行为(method) 2. 类可以看成一…

    问说网手机版

    躺着 站着 跪着轻松访问

    更多详情 关于作者

    问说网

    问说网分享与设计有关的文章素材界面和作品,提供设计教程、素材分享、界面欣赏、编程设计、设计书籍、设计师导航等内容,你可以在这里阅读、学习、分享、交流。

    13167 文章
    495 评论
    2068 人气

    更多 热门话题

    APP界面

    关注 APP界面

    文章 41506 · 浏览 3117

    APP欣赏

    关注 APP欣赏

    文章 41427 · 浏览 2883

    APP手机界面

    关注 APP手机界面

    文章 41417 · 浏览 3006

    图片素材

    关注 图片素材

    文章 29463 · 浏览 2418

    高清图片

    关注 高清图片

    文章 26530 · 浏览 2621

    更多 推荐作者

    关注 倾听寂寞

    文章 83 · 评论 0

    关注 莪很迷茫

    文章 97 · 评论 0

    关注 流浪的脚步

    文章 86 · 评论 0

    关注 失戀德標簽

    文章 92 · 评论 0

    关注 无感觉

    文章 91 · 评论 0

    关注 空城

    文章 107 · 评论 0

    
    顶部 反馈 评论 底部

    意见反馈

    感谢您对问说网的支持,提出您在使用过程中遇到的问题或宝贵建议,您的反馈对我们产品的完善有很大帮助。

    您的反馈我们已收到!

    感谢您提供的宝贵意见,我们会在1-2个工作日,通过您留下的联系方式将处理结果反馈给您!