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 相关文章推荐
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
浅谈javascript中的DOM方法
Jul 16 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
获取input标签的所有属性的方法
Jun 28 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 Javascript
简单模拟node.js中require的加载机制
Oct 27 Javascript
详解Webpack实战之构建 Electron 应用
Dec 25 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
VUE中使用MUI方法
Feb 12 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 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
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
python封装对象实现时间效果
2020/04/23 Python
用python实现批量重命名文件的代码
2012/05/25 Python
Python抓取京东图书评论数据
2014/08/31 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
Django REST framework 分页的实现代码
2019/06/19 Python
python 日期排序的实例代码
2019/07/11 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
承认错误的检讨书
2014/01/30 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
《春雨》教学反思
2014/04/24 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
品德与社会教学反思
2016/02/24 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python