jquery实现网易邮箱页面插件fullPage.js

所属分类:UI-滚动

 67520  370  查看评论 (37)
jquery实现网易邮箱页面插件fullPage.js ie兼容8

实现方法

将jquery.js,jquery-ui.js,fullPage.js以及样式文件jquery.fullPage.css引用到你的页面文件

<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.min.js"></script>


HTML

由于 HTML 代码较多,就不全部贴上来,这里只贴“第一屏”的代码,如下:

<div class="section section1">
<div class="bg"><img src="images/section1.jpg" alt=""></div>
<div class="bg11"></div>
<div class="bg12"></div>
<div class="bg13"></div>
<div class="mail">
<a class="mail-163" href="http://www.jq22.com/">163邮箱</a>
<a class="mail-126" href="http://www.jq22.com/">126邮箱</a>
<a class="mail-yeah" href="http://www.jq22.com/">yeah邮箱</a>
</div>
<div class="hgroup">
<h1><a href="http://www.jq22.com/">网易邮箱6.0</a></h1>
<h2>改变,不止所见。</h2>
</div>
<p class="p11">网易邮箱6.0版&mdash;&mdash;2014年最具创意气质的重量级新邮箱,重生光华,为之瞩目。唯美<br>的视觉设计和视觉化交互,无可替代的独创动态情景皮肤,多项国内创意产品专利技术,<br>成就无与伦比的出众品味,无可比拟的美妙体验。</p>
</div>


为了兼容 IE 低版本,“大背景”使用的是 img 方式(section1.jpg),并在 CSS 中设置 img 宽度和高度 100%,以填满整个屏幕。

JavaScript

$(function(){
    if($.browser.msie && $.browser.version < 10){
        $('body').addClass('ltie10');
    }
    $.fn.fullpage({
        verticalCentered: false,
        anchors: ['page1', 'page2', 'page3', 'page4', 'page5', 'page6', 'page7', 'page8', 'page9', 'page10'],
        navigation: true,
        navigationTooltips: ['首页', '视觉', '交互', '皮肤', '功能', '待办邮件', '联系人邮件', '科技', '连接易信', '马上体验']
    });
});

为了在不支持 CSS3 动画的低版本 IE 中有更好的体验,我们对浏览器进行判断,如果 IE 版本低于 10,就给 body 加上一个 ltie10 类。这个类的主要作用是解决低版本 IE 在滚动时,背景图片立刻隐藏的问题。


简介

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

主要功能

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

兼容性

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

使用方法

1、引入文件

    <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>

2、HTML

    <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>

3、JavaScript

    $(document).ready(
      function() {    
        $.fn.fullpage({
            slidesColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],
            anchors: ['page1', 'page2', 'page3', 'page4']
        });
    });

经测试,最好至少有 anchors 这个参数,否则在火狐浏览器中,第一次滚动会直接滚到底部。

配置

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

相关插件-滚动

jQuery单页滚动插件pagePiling.js

pagepiling.js是一个可以创建类似窗帘滚动网站的jQuery插件。它是灵活的,旧的浏览器和触摸设备兼容。您可以在原来的滚动的网站的基础上使用这个插件创建一个。
  滚动
 34459  155

简易滚动加载(超轻量)

通过滚动条实现局部加载,可以极大的减缓页面的负荷
  滚动
 4474  32

基于swiper实现手机上拉切换页面

基于swiper实现手机上拉切换页面代码简单一看就会,修改简单。
  滚动
 8532  55

zepto移动端全屏滚动

移动端整屏滚动效果
  滚动
 3474  11

讨论这个项目(37)回答他人问题或分享插件使用方法奖励jQ币

    Together° 0
    2017/4/17 11:59:54
    半轮夜 0
    2017/3/23 14:14:40

    怎么设置屏中的动画呀,感觉很炫的样子,举个例子,行吗?

        -Tie Me Down-1
        2017/10/22 16:12:36
        每次切屏都是 会加一个“active“,在css 定义样式的时候就 把 css 写在 .active  下面。.active .部件1{ 放大 } .active .部件2{ 缩小 } .active .部件2{ 旋转 } 
    回复
    罗彬 0
    2017/2/24 11:00:25

    jquery-ui.min.js这个js的作用是什么呢?

    回复
    youkie 0
    2017/1/12 10:01:14

    为嘛 我现在只有火狐支持,google和IE都不支持了呐,demo也是呐,没有一点改动的

    回复
    youkie 0
    2017/1/12 10:01:14

    为嘛 我现在只有火狐支持,google和IE都不支持了呐

    回复
    妖仙 0
    2016/12/29 16:12:42

    感觉很炫酷 但是代码有点多 好多人看的是怎么实现的功能

    回复
    尘小小 0
    2016/12/21 17:12:12

    第一屏打开的时候动画不播放,只有滚动了才播放,怎么让它网页一打开第一屏动画就是播放的。

        LIUWB0
        2017/1/3 21:01:10
        同求,我现在也遇到这个问题 怎么解决?
        LIUWB0
        2017/1/9 17:01:52
        可以只在第一页调用回调函数  可以解决这个问题。
        dadtakesmefly0
        2017/4/12 11:52:18
        能具体一点么 谢谢了
    回复
    Lee 0
    2016/10/29 10:10:39
    请问  怎么增加多一个 浮动的菜单 回复
    一颗牙 0
    2016/7/13 14:07:09
    谢谢,免费下载 回复
    小丑谢幕 0
    2016/6/6 15:06:31
    做出来的效果在安卓上非常的卡,电脑和ios上没事,这个怎么优化? 回复
取消回复