This article mainly introduces the scrolling method when the last screen of fullpage.js is not full. It is suitable for many WEB pages made with HTML5. Learn it if you need it.
In the past two days, the company's webpage has been revised using the fullpage.js scrolling plug-in. The page content can be scrolled across the entire screen without any problems. There are also documents for various settings on the Internet.
The problem I encountered is that when the page content does not fit on the screen, it will be too crowded when placed together with the above content, and it will be too empty when placed alone on the screen. It is so embarrassing to say
The footer part at the bottom is the part that I want to deal with separately. I searched various information from the Internet and summarized it. I personally think the easiest way is to write an article for future reference.
<!--footer及倒数第二屏的HTML--> <body data-spy="scroll"> <p id="dowebok" class="container-fluid"> <p class="section" id="nextS"> <p class="sect "> <p class="sectcenter4"></p> </p> <p class="sect sectbg2"> <p class="container"> <p class="sectcenter5"></p> </p> </p> </p> <p class="section footerss"><footer class="footer" id="footer"></footer></p> </p> </body>
//初始化滚屏的一些内容,最重要的是设置好锚点,这里重点是最后一屏(footer)的锚点footerl $('#dowebok').fullpage({ verticalCentered: false, resize: true, navigation: true, anchors: ['section-1', 'section-2', 'lastScreen','footerl'], });
After writing this, what is achieved is the effect as shown below. The entire footer occupies one screen and is displayed vertically in the center.
According to the effect you want to achieve, what you need to do is to make the footer close to the #nextS screen (not vertically centered). When it reaches the #nextS screen, then The downward scrolling distance cannot be one screen (must be the height of the footer).
According to the whole idea, first solve the problem of css
.section.footerss .fp-tableCell{//修改最后一屏display属性 display: block!important; } //实现footer紧挨着#nextS这一屏显示,底部出现
Next, modify the problem of fullpage.js and find the performMovement method in the referenced fullpage.js file. Follow the following method and modify it to achieve the desired effect (the footer is next to the previous screen, and the scrolling height is the height of the footer)
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); }); } }
The above is what I compiled for everyone, I hope it will be used in the future Helpful to everyone.
Related articles:
Detailed explanation of vue coding style
How to implement webpack packaging optimization in vue
Use vue and react to achieve expansion and collapse effects
The above is the detailed content of Use fullpage.js to implement scrolling. For more information, please follow other related articles on the PHP Chinese website!