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 call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
Sep 28 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
js实现透明度渐变效果的方法
Apr 10 Javascript
js实现新浪微博首页效果
Oct 16 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
详解如何实现一个简单的 vuex
Feb 10 Javascript
vue项目中api接口管理总结
Apr 20 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
Sep 14 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
Vue中的组件及路由使用实例代码详解
May 22 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闭包(Closure)使用详解
2013/05/02 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
解析php中curl_multi的应用
2013/07/17 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
Python实现Linux中的du命令
2017/06/12 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
python 元组和列表的区别
2020/12/30 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
Linux开机引导的步骤是什么
2015/10/19 面试题
会计电算化应届生求职信
2013/11/03 职场文书
工业自动化毕业生自荐信范文
2014/01/04 职场文书
初中音乐教学反思
2014/01/12 职场文书
法人代表授权委托书
2014/04/08 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书