内容简介:本文介绍使用fullPage.js插件可轻易创建全屏滚动网站。很多网站只有一个首页,它是由多个可以滚动的全屏内容组成,使用鼠标滚动或方向键可控制滚屏,支持CSS3动画和手机触屏,效果非常高大上。
本文介绍使用fullPage.js插件可轻易创建全屏滚动网站。很多网站只有一个首页,它是由多个可以滚动的全屏内容组成,使用鼠标滚动或方向键可控制滚屏,支持CSS3动画和手机触屏,效果非常高大上。
使用方法
包含文件
<link rel="stylesheet" type="text/css" href="fullpage.css" /> <!-- 以下行是可选的。 只有在使用选项css3:false,并且您希望使用其他缓动效果,而非“linear”、“swing”或“easeInOutCubic”时才有必要。 --> <script src="vendors/easings.min.js"></script> <!-- 以下行仅在使用选项scrollOverflow:true的情况下是必需的 --> <script type="text/javascript" src="vendors/scrolloverflow.min.js"></script> <script type="text/javascript" src="fullpage.js"></script>
如果您愿意,可以使用bower或npm安装fullPage.js:
// 使用bower bower install fullpage.js // 使用npm npm install fullpage.js
HTML结构
HTML文件中的首行HTML代码必须使用HTML DOCTYPE 声明,否则可能会遇到代码段高度问题。HTML 5 doctype中的示例: <!DOCTYPE html>
。
<div id="fullpage"> <div class="section">Some section</div> <div class="section">Some section</div> <div class="section">Some section</div> <div class="section">Some section</div> </div>
每个代码段定义为包含 .section
的元素。 第一个代码段作为第一屏,是默认激活。 代码段应被包含在(即 <div id="fullpage"></code> )付父元素中。 注意,父元素不能是body元素。
如果你想定义一个与众不同的起始页面,而不是原始第一段或第一个滑动页,只需将 .active
类添加到你想首先载入的段或滑动页。
<div class="section active">Some section</div>
Javascript
用原生Javascript初始化,只需要在关闭</body>标签之前调用fullPage.js。
new fullpage('#fullpage', { //options here autoScrolling:true, scrollHorizontally: true }); //methods fullpage_api.setAllowScrolling(false);
也可以使用jQuery进行初始化,前提需要先引用jQuery库。
$(document).ready(function() { $('#fullpage').fullpage({ //options here autoScrolling:true, scrollHorizontally: true }); //methods $.fn.fullpage.setAllowScrolling(false); });
功能选项
所有选项设置的更复杂的初始化如下所示:
var myFullpage = new fullpage('#fullpage', { //导航 menu: '#menu', //绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动 lockAnchors: false, //(默认为false)确定URL中的锚是否在库中完全有效。 您仍然可以在函数和回调内部使用锚,但是它们在滚动网站时不起任何作用。 如果你想在URL中使用锚点来将fullPage.js和其他插件结合起来,那就很有用。 anchors:['firstPage', 'secondPage'], //定义要在每个部分的URL上显示的锚链接(#example)。 锚点的值应该是独一无二的。 数组中的锚的位置将限定锚被应用于哪些部分。 navigation: false, //如果设置为true,则会显示一个由小圆圈组成的导航栏 navigationPosition: 'right', //(默认none)可以设置为left或right,并定义导航栏显示的位置(如果使用的话) navigationTooltips: ['firstSlide', 'secondSlide'], //(默认为[])定义要使用导航圈的 工具 提示。 如果您愿意,也可以在每个部分中使用属性data-tooltip来定义它们 showActiveTooltip: false, //显示垂直导航中主动查看节的持久工具提示 slidesNavigation: false, //如果设置为true,则会显示一个导航栏,该导航栏由站点上每个横向滑块的小圆圈组成。 slidesNavPosition: 'bottom', //定义滑块的横向导航栏的位置。 值为top和bottom。 //滚动 css3: true, //是否使用 CSS3 transforms 滚动 scrollingSpeed: 700, //滚动速度,单位为毫秒 autoScrolling: true, //是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条 fitToSection: true, //确定是否section放入视窗中 fitToSectionDelay: 1000, //如果fitToSection设置为true,则延迟 以毫秒为单位 scrollBar: false, //确定是否使用站点的滚动条。 在使用滚动条的情况下,autoScrolling功能仍将按预期工作。 用户也可以使用滚动条自由滚动网站,当滚动完成时,fullPage.js将适配屏幕上的部分。 easing: 'easeInOutCubic', //定义用于垂直和水平滚动的过渡效果。 easingcss3: 'ease', //定义在使用css3:true的情况下使用的过渡效果。 loopBottom: false, //滚动到最底部后是否滚回顶部 loopTop: false, //滚动到最顶部后是否滚底部 loopHorizontal: true, //定义水平滑块是否在到达上一张或上一张幻灯片后循环 continuousVertical: false, //是否循环滚动,与 loopTop 及 loopBottom 不兼容 normalScrollElements: '#element1, .element2', //如果你想在滚动某些元素时避免自动滚动,这是你需要使用的选项 scrollOverflow: false, //内容超过满屏后是否显示滚动条 touchSensitivity: 15, //定义浏览器窗口宽度/高度的百分比,以及滑动到下一个节/幻灯片必须测量的距离 normalScrollElementTouchThreshold: 5, //定义html节点树的跳数阈值Fullpage将测试normalScrollElements是否匹配,以允许在触摸设备上的div的滚动功能。 bigSectionsDestination: null, //定义如何滚动到比视口大的部分。 默认情况下,如果您来自目的地上方的部分,fullPage.js将滚动到顶部,如果您来自目的地之下的部分,则会滚动到底部。 可能的值是top,bottom,null。 //可访问 keyboardScrolling: true, //定义是否可以使用键盘浏览内容 animateAnchor: true, //定义给定锚点(#)的站点的负载是否会随着动画滚动到其目的地或直接加载给定部分 recordHistory: true, //定义是否将网站的状态推送到浏览器的历史记录。 设置为true时,网站的每个部分/幻灯片将作为新页面,浏览器的后退和前进按钮将滚动部分/幻灯片以达到网站的上一个或下一个状态。 当设置为false时,URL将保持更改,但不会影响浏览器的历史记录。 使用autoScrolling:false时,该选项会自动关闭。 //设计 controlArrows: true, //确定是否将幻灯片的控制箭头向右或向左移动 verticalCentered: true, //在段落内部垂直居中。 当设置为true时,您的代码将被库包装。可考虑使用委托或在afterRender回调中加载其他脚本 sectionsColor : ['#ccc', '#fff'], //为每个部分定义CSSbackground-color属性 paddingTop: '3em', //与顶部的距离 paddingBottom: '10px', //与底部距离 fixedElements: '#header, .footer', //定义当使用css3选项保持固定时,哪些元素将从插件的滚动结构中移除。 它需要一个字符串与这些元素的Javascript选择器。 (例如:fixedElements:'#element1,.element2') responsiveWidth: 0, //一个正常的滚动(autoScrolling:false)将在定义的宽度下以像素为单位使用。 如果用户希望将自己的响应式CSS用于身体标记,则会将fp-responsive类添加到身体标记中。 例如,如果设置为900,则每当浏览器的宽度小于900时,插件将像正常站点一样滚动。 responsiveHeight: 0, //一个正常的滚动(autoScrolling:false)将在定义的高度下以像素为单位使用。 如果用户希望将自己的响应式CSS用于身体标记,则会将fp-responsive类添加到身体标记中。 例如,如果设置为900,则每当浏览器的高度小于900时,插件将像正常站点一样滚动。 //自定义选择器 sectionSelector: '.section', //定义用于插件部分的Javascript选择器。 有时可能需要更改,以避免与使用与fullpage.js相同的选择器的其他插件的问题。 slideSelector: '.slide', //定义用于插件幻灯片的Javascript选择器。 有时可能需要更改,以避免与使用与fullpage.js相同的选择器的其他插件的问题。 lazyLoading: true, //延迟加载默认是激活的,这意味着它会延迟加载包含属性data-src的任何媒体元素 //事件 onLeave: function(index, nextIndex, direction){},//滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:index 是离开的“页面”的序号,从1开始计算;nextIndex 是滚动到的“页面”的序号,从1开始计算;direction 判断往上滚动还是往下滚动,值是 up 或 down。 afterLoad: function(origin, destination, direction){}, //滚动结束之后,一旦加载了节,就会触发回调。 afterRender: function(){}, //这个回调在页面结构生成后立即被触发。 这是您要用来初始化其他插件的回调函数,或者触发任何需要文档准备就绪的代码 afterResize: function(width, height){},//调整浏览器窗口大小后,会触发此回调。 afterResponsive: function(isResponsive){}, //在fullpage.js从正常模式变为响应模式或从响应模式变为正常模式之后,此回调将被触发 afterSlideLoad: function(section, origin, destination, direction){}, //滚动结束后,加载一个section的幻灯片后触发回调。 onSlideLeave: function(section, origin, destination, direction){} //一旦用户离开幻灯片转到另一个幻灯片,就会触发此回调。返回false将在移动发生之前取消移动。 });
方法
moveSectionUp()
向上滚动
moveSectionDown()
向下滚动
moveTo(section, slide)
滚动到
moveSlideRight()
slide 向右滚动
moveSlideLeft()
slide 向左滚动
setAutoScrolling()
设置页面滚动方式,设置为 true 时自动滚动
setAllowScrolling()
添加或删除鼠标滚轮/触控板控制
setKeyboardScrolling()
添加或删除键盘方向键控制
setScrollingSpeed()
定义以毫秒为单位的滚动速度
其他
延迟加载
fullPage.js提供了一种延迟加载图像、视频和音频元素的方式,这样它们不会减慢网站的加载速度,也不会浪费数据传输。 当使用延迟加载时,所有这些元素只有在进入视口时才会加载。 要启用延迟加载,您只需将src属性更改为data-src,如下所示:
<img data-src="image.png"> <video> <source data-src="video.webm" type="video/webm" /> <source data-src="video.mp4" type="video/mp4" /> </video>
如果您已经使用另一个使用data-src的延迟加载解决方案,则可以通过设置 lazyLoading: false
选项来禁用fullPage.js延迟加载。
自动播放
对于视频或音频使用属性 autoplay,或者对于youtube iframe使用参数autoplay=1将使得在加载页面时播放媒体元素。 在段落/幻灯片载入使用而不是属性data-autoplay播放。 例如:
<audio data-autoplay> <source src="http://metakoncept.hr/horse.ogg" type="audio/ogg"> </audio>
暂停
嵌入式HTML5<video>/<audio>和Youtube iframe在离开某个段落或幻灯片时自动暂停。 可以通过使用属性data-keepplaying来禁用。 例如:
<audio data-keepplaying> <source src="http://metakoncept.hr/horse.ogg" type="audio/ogg"> </audio>
此外,fullpage.js还可以使用扩展插件,更多详情请查看fullpage.js项目官网: https://github.com/alvarotrigo/fullPage.js .
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- IDEA 插件:多线程文件下载插件开发
- 从头开发一个Flutter插件(二)高德地图定位插件
- Gradle插件开发系列之gradle插件调试方法
- Gradle插件开发系列之开发第一个gradle插件
- WordPress插件开发 -- 在插件使用数据库存储数据
- Gradle插件开发系列之发布gradle插件到开源库
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法(Java语言版)
(美) Adam Drozdek著;周翔 / 机械工业出版社 / 2003-07-01 / 49.50元
数据结构与算法:Java语言版,ISBN:9787111119029,作者:(美)Adam Drozdek著;周翔[等]译;周翔译一起来看看 《数据结构与算法(Java语言版)》 这本书的介绍吧!