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


Posted in Javascript onSeptember 06, 2016

刚做好公司网站,通过全屏滚动,显著提高了官网的浏览体验。遂总结一下使用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; ">
//最终要显示的内容
</div>
<script>showAllContent("none","");</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript编程开发中的五个实用小技巧
Jul 22 Javascript
jQuery ready函数滥用分析
Feb 16 Javascript
得到form下的所有的input的js代码
Nov 07 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
Dec 14 Javascript
jquery的ajax简单结构示例代码
Feb 17 Javascript
7个让JavaScript变得更好的注意事项
Jan 28 Javascript
jQuery实现自动调整字体大小的方法
Jun 15 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
JS实现的仿QQ空间图片弹出效果代码
Feb 23 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 11 Javascript
AngularJS  $on、$emit和$broadcast的使用
Sep 05 #Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 #Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 #Javascript
Vue表单实例代码
Sep 05 #Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 #Javascript
JS实现的手机端精简幻灯片效果
Sep 05 #Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
Sep 05 #Javascript
You might like
php连接数据库代码应用分析
2011/05/29 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
Bootstrap源码解读模态弹出框(11)
2016/12/28 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
关于毕业的广播稿
2014/01/10 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
白莲教口号
2014/06/18 职场文书
2015年三万活动总结
2015/03/25 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
python简单验证码识别的实现过程
2021/06/20 Python