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 相关文章推荐
JQuery中的ready函数冲突的解决方法
May 17 Javascript
JavaScript初学者需要了解10个小技巧
Aug 25 Javascript
JavaScript高级程序设计 扩展--关于动态原型
Nov 09 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
Oct 24 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
Dec 20 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
Dec 20 Javascript
angularjs 中$apply,$digest,$watch详解
Oct 13 Javascript
微信小程序 UI布局常用技巧整理总结
Dec 05 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
Vue商品控件与购物车联动效果的实例代码
Jul 21 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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
php获取当前url地址的方法小结
2017/01/10 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
php curl发送请求实例方法
2019/08/01 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
原生js实现放大镜
2017/02/20 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
Python标准库之collections包的使用教程
2017/04/27 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
python中温度单位转换的实例方法
2020/12/27 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
自我介绍演讲稿
2014/01/15 职场文书
干部培训自我鉴定
2014/01/22 职场文书
企业车辆管理制度
2014/01/24 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书