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 相关文章推荐
javascript下4个跨浏览器必备的函数
Mar 07 Javascript
16个最流行的JavaScript框架[推荐]
May 29 Javascript
js 自定义个性下拉选择框示例
Aug 20 Javascript
jQuery中element选择器用法实例
Dec 29 Javascript
js完美解决IE6不支持position:fixed的bug
Apr 24 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
JS自动生成动态HTML验证码页面
Jun 14 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
浅谈Vue的加载顺序探讨
Oct 25 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
May 14 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 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
php实现倒计时效果
2015/12/19 PHP
PHP5.3新特性小结
2016/02/14 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
javascript中setTimeout的问题解决方法
2014/05/08 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
春节联欢晚会主持词
2014/03/24 职场文书
寄语学生的话
2014/04/10 职场文书
班级读书活动总结
2014/06/30 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
建国大业观后感600字
2015/06/01 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
六一儿童节致辞
2015/07/31 职场文书
党员公开承诺书2016
2016/03/24 职场文书
导游词之安徽九华山
2019/09/18 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python
Python借助with语句实现代码段只执行有限次
2022/03/23 Python