您好,欢迎访问一九零五行业门户网

fullpage.js全屏滚动插件使用实例

刚做好公司网站,通过全屏滚动,显著提高了官网的浏览体验。遂总结一下使用fullpage.js的方法。欢迎指正
一. fullpage.js简介
fullpage.js是一套实现浏览器全屏滚动的js插件,很多网站现在都使用了其来实现较好的浏览体验。
可以实现的功能:
•支持前进后退和键盘控制
•多个回调函数
•支持手机、平板触摸事件
•支持 css3 动画
•支持窗口缩放
•窗口缩放时自动调整
•可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等
二.插件下载
npm|npm install fullpage.js
bower|bower install fullpage.js
github|https://github.com/alvarotrigo/fullpage.js/
cdn|https://cdnjs.com/libraries/fullpage.js
三.文件引入方式
<link rel="stylesheet" href="css/jquery.fullpage.css"> <script src="js/jquery.min.js"></script> <script src="js/jquery.fullpage.js"></script>
注意:一定要先引入jquery,再引入fullpage。我刚开始写demo的时候,因为顺序错误,导致不能实现效果,浏览器报错fullpage.js中的jquery未定义。
四. 写html代码
<div id="fullpage"> <div class="section">section1</div> <div class="section">section2</div> <div class="section">section3</div> <div class="section">section4</div> </div>
所有的内容包含在id名为fullpage的div内,不可以给body加此。
类名为.section的div元素便是一个单页,通过鼠标滚轮和键盘可控制不同页面之间的替换,也可设置列表导航。
同时,如果要在一个页面内做横向的切屏效果,可以在div.section中添加div.slide。代码如下:
<div class="section"> <div class="slide"> slide 1 </div> <div class="slide"> slide 2 </div> <div class="slide"> slide 3 </div> <div class="slide"> slide 4 </div> </div>
五.初始化fullpage
$(document).ready(function() { $('#fullpage').fullpage( { ....... //options 详情参看https://github.com/alvarotrigo/fullpage.js/ } ); });
设置侧边栏导航
这个导航一般网站设计都会有,fullpage默认的导航样式是小黑点,也支持设置别的样式。
<ul id="mymenu"> <li data-menuanchor="firstpage" class="active"><a href="#firstpage">first section</a></li> <li data-menuanchor="secondpage"><a href="#secondpage">second section</a></li> <li data-menuanchor="thirdpage"><a href="#thirdpage">third section</a></li> <li data-menuanchor="fourthpage"><a href="#fourthpage">fourth section</a></li> </ul>
#mymenu{ position:fixed; ... } $('#fullpage').fullpage({ anchors: ['firstpage', 'secondpage', 'thirdpage', 'fourthpage', 'lastpage'], menu: '#mymenu' });
六.遇到的问题及解决思路
在网站做好后测试时发现,刚进入页面,在fullpage.js文件未完成初始化之前,此时dom css正在加载中,所有已显示的样式内容会挤在一块,当加载完之后就会恢复。如果网站优化过关且网速给力的话,这段时间会比较短,但仍会带来不好的用户体验。
遂尝试各种解决方法:
1.div.section
section{overflow:hidden}
经测,这个方法并没有什么卵用。
2.设置一个空白遮罩,在所有页面完成之前只显示该遮罩,主题内容隐藏,待加载完成之后,内容显示遮罩去除。当然也可以在遮罩层设置网站相关内容。
具体的实现方法demo:
<html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title>无标题文档</title> <script language="javascript" type="text/javascript"> function showallcontent(status1,status2){ document.getelementbyidx("showcontent").style.display=status1; document.getelementbyidx("showload").style.display=status2; } </script> </head> <body onload='showallcontent("","none")'> <div id="showload" style="z-index:2; display:block; width:auto; height:auto;">页面加载中......</div> <div id="showcontent" style="z-index:1; "> //最终要显示的内容<br></div><br><script>showallcontent("none","");</script><br></body><br></html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
更多fullpage.js全屏滚动插件使用实例。
其它类似信息

推荐信息