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 相关文章推荐
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
eclipse导入jquery包后报错的解决方法
Feb 17 Javascript
jQuery ajax调用WCF服务实例
Jul 16 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
基于Cookie常用操作以及属性介绍
Sep 07 Javascript
JavaScript常见鼠标事件与用法分析
Jan 03 Javascript
JS原型与继承操作示例
May 09 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 Javascript
vue项目中定义全局变量、函数的几种方法
Nov 08 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
Nov 12 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
解决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开发GUI
2006/10/09 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php函数连续调用实例分析
2015/07/30 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
Python缓存技术实现过程详解
2019/09/25 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
创先争优演讲稿
2014/09/15 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
先进典型发言材料
2014/12/30 职场文书
2015年父亲节寄语
2015/03/23 职场文书
护士求职自荐信
2015/03/25 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书