fullpage.js最后一屏滚动方式


Posted in Javascript onFebruary 06, 2018

这两天公司网页改版用到fullpage.js这个滚屏插件,页面内容整屏的滚动,不成问题,各种设置在网上也都有文档。
而我遇到的问题就是,页面内容不满屏的时候,和上面的内容放一块就太挤,单独放一屏就太空,好尴尬的说

fullpage.js最后一屏滚动方式

底部的footer部分就是我要单独处理的部分,从网上搜了各种资料,总结了一下,个人觉着最简单的方法,写一篇文章以便以后查阅。

<!--footer及倒数第二屏的HTML-->
  <body data-spy="scroll">
   <div id="dowebok" class="container-fluid">
    <div class="section" id="nextS">
      <div class="sect ">
          <div class="sectcenter4"></div>
      </div>
      <div class="sect sectbg2">
        <div class="container">
          <div class="sectcenter5"></div>
        </div>
      </div>
    </div>
    <div class="section footerss"><footer class="footer" id="footer"></footer></div>
   </div>
  </body>
//初始化滚屏的一些内容,最重要的是设置好锚点,这里重点是最后一屏(footer)的锚点footerl
    $('#dowebok').fullpage({
      verticalCentered: false,
      resize: true,
      navigation: true,
      anchors: ['section-1', 'section-2', 'lastScreen','footerl'],
    });

写完这些,实现的就是下面如图的效果,整个footer占了一屏,并且是垂直居中显示的。

fullpage.js最后一屏滚动方式

根据要实现的效果,要做的就是让footer紧挨着#nextS这一屏(不垂直居中)+到#nextS这一屏的时候,再往下的滚动距离就不能是一屏了(必须是footer的高度)。
按着整个思路,先解决css的问题

.section.footerss .fp-tableCell{//修改最后一屏display属性
    display: block!important;
  }
//实现footer紧挨着#nextS这一屏显示,底部出现

fullpage.js最后一屏滚动方式

下面修改fullpage.js的问题,在引用的fullpage.js文件中找到performMovement这个方法,按照如下方法,修改一下,就可以达到想要的效果(footer紧挨着上一屏,并且滚动的高度是footer的height)

function performMovement(v){ 
 // using CSS3 translate functionality 
 
 if (options.css3 && options.autoScrolling && !options.scrollBar) { 
 

if (v.anchorLink == 'footerl'){ //当滚屏到最后一屏时间 
 


footer_a = $('#nextS').height();//倒数第二屏的高度 
 


footer_h = $('#footer').height(); //footer的高度
 


 var translate3d = 'translate3d(0px, -' + (v.dtop - footer_a + footer_h) + 'px, 0px)'; 
 

 }else{ 
 


var translate3d = 'translate3d(0px, -' + v.dtop + 'px, 0px)'; 
 

} 
 

transformContainer(translate3d, true); 
 

setTimeout(function () { 
 


afterSectionLoads(v); 
 

}, options.scrollingSpeed); 

 } 
 
// using jQuery animate 
 
else{ 
 

var scrollSettings = getScrollSettings(v); 
 

$(scrollSettings.element).animate( 
 


scrollSettings.options 
 


, options.scrollingSpeed, options.easing).promise().done(function () { //only one single callback in case of animating `html, body` 
 


afterSectionLoads(v); 
 

 }); 
 
} 
 }

这样修改了之后,就不用担心最后一屏不满屏的问题了。

Javascript 相关文章推荐
IE和Firefox下javascript的兼容写法小结
Dec 10 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
Nov 11 Javascript
js获取浏览器的可视区域尺寸的实现代码
Nov 30 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
Feb 13 Javascript
Node.js 异步编程之 Callback介绍(一)
Mar 30 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
javascript正则表达式中分组详解
Jul 17 Javascript
Vue微信项目按需授权登录策略实践思路详解
May 07 Javascript
微信小程序实现人脸识别
May 25 Javascript
微信小程序实现的一键复制功能示例
Apr 24 Javascript
详解新手使用vue-router传参时注意事项
Jun 06 Javascript
Nest.js参数校验和自定义返回数据格式详解
Mar 29 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
Feb 06 #Javascript
微信小程序使用Promise简化回调
Feb 06 #Javascript
JS设计模式之命令模式概念与用法分析
Feb 06 #Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 #Javascript
vue一个页面实现音乐播放器的示例
Feb 06 #Javascript
使用百度地图实现地图网格的示例
Feb 06 #Javascript
js中的闭包学习心得
Feb 06 #Javascript
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
jquery UI 1.72 之datepicker
2009/12/29 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
python django事务transaction源码分析详解
2017/03/17 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
Django 实现下载文件功能的示例
2018/03/06 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
使用python求解二次规划的问题
2020/02/29 Python
python语言中有算法吗
2020/06/16 Python
python利用faker库批量生成测试数据
2020/10/15 Python
.NET概念性的面试题
2012/02/29 面试题
什么是URL
2015/12/13 面试题
副厂长岗位职责
2014/02/02 职场文书
离职保密承诺书
2014/05/28 职场文书
外国人来华邀请函
2015/01/31 职场文书
湘江北去观后感
2015/06/15 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
React配置子路由的实现
2021/06/03 Javascript
使用Python开发冰球小游戏
2022/04/30 Python