热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

全屏标签_web开发:全屏滚动插件fullpage.js

本文同步发表在我的个人博客中:沧沧凉凉​www.cclliang.com随着前端的飞速发展,现在制作界面时出现了非常多的好看的样式,比如说
68800486b12905124337c769e93fdb30.png

本文同步发表在我的个人博客中:

沧沧凉凉​www.cclliang.com

随着前端的飞速发展,现在制作界面时出现了非常多的好看的样式,比如说全屏滚动效果,能够带来很舒服的视觉体验。先来看一下什么是全屏滚动:

1a14c6d4f0e36ba44ae3b30186be9967.gif

这是fullpage.js的官网,只需要滑动一下滚轮,就能实现翻页的效果。

安装

fullPage.js中文文档​github.com

如何安装其实文档上面已经说得很清楚了,即:

// 使用 bower
bower install fullpage.js// 使用 npm
npm install fullpage.js

包含文件:




因为现在的单页面应用几乎都是使用的webpack打包工具,所以直接看一下webpack怎么引入,如果有使用其它工具,可以直接到下面的网址进行查看如何引入。

https://github.com/alvarotrigo/fullPage.js/wiki/Use-module-loaders-for-fullPage.js​github.com

// Optional. When using fullPage extensions
//import scrollHorizontally from './fullpage.scrollHorizontally.min';// Optional. When using scrollOverflow:true
//import IScroll from 'fullpage.js/vendors/scrolloverflow';// Importing fullpage.js
import fullpage from 'fullpage.js';// When using fullPage extensions replace the previous import
// of fullpage.js for this file
//import fullpage from 'fullpage.js/dist/fullpage.extensions.min';// Initializing it
var fullPageInstance = new fullpage('#myFullpage', {navigation: true,sectionsColor:['#ff5f45', '#0798ec', '#fc6c7c', 'grey']
});

应用于React

根据上面的方法,我们很容易就可以在React中进行使用fullpage.js,只需要创建:

Some section
Some section
Some section
Some section

componentDidMount() {let fullPageInstance = new fullpage('#myFullpage', {navigation: true,sectionsColor:['#ff5f45', '#0798ec', '#fc6c7c', 'grey']});
}
6f428189eed82c0d3cfcdb0530b8d991.gif

可以看到通过上面的集成后,初步效果已经出来了,剩下的就是填充自己的内容,并且根据需要进行配置。

var myFullpage = new fullpage('#fullpage', {//导航menu: '#menu',lockAnchors: false,anchors:['firstPage', 'secondPage'],navigation: false,navigationPosition: 'right',navigationTooltips: ['firstSlide', 'secondSlide'],showActiveTooltip: false,slidesNavigation: false,slidesNavPosition: 'bottom',//滚动css3: true,scrollingSpeed: 700,autoScrolling: true,fitToSection: true,fitToSectionDelay: 1000,scrollBar: false,easing: 'easeInOutCubic',easingcss3: 'ease',loopBottom: false,loopTop: false,loopHorizontal: true,continuousVertical: false,continuousHorizontal: false,scrollHorizontally: false,interlockedSlides: false,dragAndMove: false,offsetSections: false,resetSliders: false,fadingEffect: false,normalScrollElements: '#element1, .element2',scrollOverflow: false,scrollOverflowReset: false,scrollOverflowOptions: null,touchSensitivity: 15,bigSectionsDestination: null,//可访问keyboardScrolling: true,animateAnchor: true,recordHistory: true,//布局controlArrows: true,verticalCentered: true,sectionsColor : ['#ccc', '#fff'],paddingTop: '3em',paddingBottom: '10px',fixedElements: '#header, .footer',responsiveWidth: 0,responsiveHeight: 0,responsiveSlides: false,parallax: false,parallaxOptions: {type: 'reveal', percentage: 62, property: 'translate'},cards: false,cardsOptions: {perspective: 100, fadeContent: true, fadeBackground: true},//自定义选择器sectionSelector: '.section',slideSelector: '.slide',lazyLoading: true,//事件onLeave: function(origin, destination, direction){},afterLoad: function(origin, destination, direction){},afterRender: function(){},afterResize: function(width, height){},afterReBuild: function(){},afterResponsive: function(isResponsive){},afterSlideLoad: function(section, origin, destination, direction){},onSlideLeave: function(section, origin, destination, direction){}
});

如果你想将一个页面设置为默认页,只需要给它添加active类,例如

Some section

导航小圆点

2de492b2e3cfebc89da71d4a1dab2b69.gif

这种导航小圆点是非常实用的一个功能,引入也很简单,

import 'fullpage.js/dist/fullpage.min.css'; //引入CSS样式,如果不引入是无法显示小圆点。new fullpage('#fullpage', {navigation:true, // 开启小圆点
});

锚点

通常我们都需要一些锚点,点击锚点直接进行切换页面:

根据官方文档,如果要使用锚点功能只需要在HTML标签中使用属性data-anchor,例:

slide 1
slide 2
slide 3
slide 4

或者也可以直接在声明时进行初始化:

new fullpage('#fullpage', {anchors:['firstPage', 'secondPage', 'thirdPage']
});

但是我发现了一个新问题:在react-routerHashRouter中会把#当做是hash来处理。也就是说锚点在HashRouter中无法使用。HashRouter即地址栏中包含#的模式,例如:https://www.xxx.cn/#/这种地址,既然这种地址这么丑,为什么还要使用呢?

因为项目部署到服务器后,如果没有后端进行转发或者重定向,不使用HashRouter模式就可能存在你刷新一下页面会出现页面未找到的情况,但是我没有找到太好的解决办法。目前仅想到了使用fullpage_api.moveTo();方法来进行控制,但是远远没有锚点方便。

react-fullpage

都写到这里了,我才发现原来这个插件有React版本的,不仅有React版本,甚至还有Vue和Angular,不过应该仅仅是在该插件的基础上做了封装。

react-fullpage​github.com

安装

npm install @fullpage/react-fullpage

使用

使用方法大体相同,如果将上面的例子改为react-fullpage写法即为:

import React, {Component} from 'react';
import ReactFullpage from '@fullpage/react-fullpage';class Test extends Component {render() {return ( {return (

Some section
Some section
Some section
Some section
);}}/>);}
}
export default Test;

视频推荐

全屏滚动插件fullpage使用-炫酷购物车案例-黑马程序员pink老师(素材已经更新)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
d21a08f976778d2d1395044211ee91cc.png



推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 使用jqTransform插件美化表单
    jqTransform 是由 DFC Engineering 开发的一款 jQuery 插件,专用于美化表单元素,操作简便,能够美化包括输入框、单选按钮、多行文本域、下拉选择框和复选框在内的所有表单元素。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
author-avatar
Annie千寻_535
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有