未加星标

fullpage.js最后一屏滚动方式

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二04 | 时间 | 作者 红领巾 ] 0人收藏点击收藏
这两天公司网页改版用到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);
     });
  }
}

这样修改了之后,就不用担心最后一屏不满屏的问题了。


您可能感兴趣的文章:fullPage.js和CSS3实现全屏滚动效果基于vue的fullpage.js单页滚动插件jQuery插件fullPage.js实现全屏滚动效果全屏滚动插件fullPage.js使用实例解析fullpage.js全屏滚动插件使用实例Fullpage.js固定导航栏-实现定位导航栏

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: CSS3CSSjQueryHTML定位
tags: lt,gt,footer,div,一屏,js,class,options,fullpage,滚动,translate3d,section,插件,0px,#nextS
分页:12
转载请注明
本文标题:fullpage.js最后一屏滚动方式
本站链接:http://www.codesec.net/view/572489.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(24)