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 应用类库代码
Jun 02 Javascript
JavaScript等比例缩放图片控制超出范围的图片
Aug 06 Javascript
jquery模拟SELECT下拉框取值效果
Oct 23 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
Aug 17 Javascript
JavaScript实现格式化字符串函数String.format
Dec 16 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
Dec 18 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
JavaScript实现连连看连线算法
Jan 05 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 allow_url_include的应用和解释
2010/04/22 PHP
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
php创建sprite
2014/02/11 PHP
PHP反射API示例分享
2016/10/08 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
nodejs npm package.json中文文档
2014/09/04 NodeJs
Javascript基础教程之switch语句
2015/01/18 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
js中的面向对象入门
2017/03/06 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
详解Python中的join()函数的用法
2015/04/07 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
网络营销策划方案
2014/06/04 职场文书
医学检验专业自荐信
2014/09/18 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
2015年教务工作总结
2015/05/23 职场文书
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby