全屏滚动插件fullPage.js使用实例解析


Posted in Javascript onOctober 21, 2016

如今我们经常能看见到全屏网站,尤其是国外玩站。这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次。而JQuery的一款插件fullpage.js,可以实现全屏滚动,非常流行的效果,兼容性IE8+兼容性不错,能够兼容多种浏览器。

主要功能有:

支持鼠标滚动

支持前进后退和键盘控制

多个会调函数

支持手机、平板触摸事件

支持CSS3动画

支持窗口缩放

窗口缩放时自动调整

可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等

准备工作(下载jquery.fullPage.js和jquery.fullPage.css插件)

网址:插件下载地址(https://github.com/alvarotrigo/fullPage.js)

全屏滚动插件fullPage.js使用实例解析

代码的外联式引用(包括jquery-2.1.0.js)一共3个

<link rel="stylesheet" type="text/css" href="css/jquery.fullPage.css"/> 
<script src="js/jquery-2.1.0.js" type="text/javascript" charset="utf-8"></script> 
<script src="js/jquery.fullPage.js" type="text/javascript" charset="utf-8"></script>

HTML脚本

<ul id="fullpageMenu"><!--ul导航栏按钮data-menuanchor为加载的页面page--> 
      <li data-menuanchor = "page1" class="active"><a href="#page1">section1</a></li> 
      <li data-menuanchor = "page2"><a href="#page2">section2</a></li> 
      <li data-menuanchor = "page3"><a href="#page3">section3</a></li> 
      <li data-menuanchor = "page4"><a href="#page4">section4</a></li> 
    </ul> 
    <div id="fullpage"><!--div为容器,这里要用id名为fullpage--> 
      <div class="section"><!--默认的上下滚动页面,类名可改sectionSelector:".section",不改默认类名要为section--> 
        <h1>这是第一屏</h1> 
      </div> 
      <div class="section"> 
        <div class="slide">幻灯片1</div><!--默认的左右滚动幻灯片,类名可改slideSelector:".slide",不改默认类名要为slide--> 
        <div class="slide">幻灯片2</div> 
        <div class="slide">幻灯片3</div> 
        <div class="slide">幻灯片4</div> 
      </div> 
      <div class="section"> 
        <h1>这是第三屏</h1> 
      </div> 
      <div class="section"> 
        <h1>这是第四屏</h1> 
      </div> 
    </div>

CSS布局

<style type="text/css"> 
    *{ 
      margin: 0; 
      padding: 0; 
    } 
      .slide{ 
        font-size: 60px; 
        text-align: center; 
      } 
      #fullpageMenu{ 
        font-size: 30px; 
        position: fixed; 
        top: 0; 
        z-index: 1; 
        list-style: none; 
      } 
      #fullpageMenu li a{ 
        text-decoration: none; 
      } 
      #fullpageMenu li{ 
        background-color: mediumaquamarine; 
        border: 1px solid black; 
        padding: 8px; 
        cursor: pointer; 
        text-align: center; 
      } 
      #fullpageMenu li:hover{ 
        background-color: orange; 
      } 
    </style>

jQuery脚本(主要用fullPage.js对页面进行参数配置)

<script type="text/javascript"> 
  $(document).ready(function(){ 
    //配置项 
    $("#fullpage").fullpage({ 
      //可以为每一个section设置background-color属性 
      sectionsColor:["green","orange","gray","red"], 
       
      //定义是否通过箭头来控制slide幻灯片,默认为true。当我们设置为false,则幻灯片左右两则的箭头就会消失,在移动设备上,我们可以通过滑动来操作幻灯片 
      controlArrows:true, 
       
      //每一页的内容是否垂直居中,默认为true.一般保持默认值 
      verticalCentered:true, 
       
      //滚动速度,单位为毫秒,默认为700 
      scrollingSpeed:1000, 
       
      //定义锚连接,默认为[]。有了锚链接,用户就可以快速打开定位到某一页面 
      //注意定义锚链接的时候,值不要和页面中任意的id或name相同,尤其是在IE浏览器下。而且定义时不需要要加# 
      anchors:["page1","page2","page3","page4"], 
       
      //是否锁定锚链接,默认为false。如果设置为true,那么定义的锚链接,也就是anchors属性则没有效果。这个配置项使用的比较少 
      lockAnchors:false, 
       
      //定义页面section滚动的动画方式,如果修改此项,需要引入jquery.easings插件,或者jquery ui 
      easing:"easeInOutCubic", 
       
      //是否使用CSS3 transforms 来实现滚动效果,默认为true。这个配置项可以提高支持css3的浏览器,比如移动设备等的速度,如果浏览器不支持css3,则会使用jquery来替代css3实现滚动效果 
      css3:true, 
       
      //滚动到最顶部后是否连续滚动到底部,默认为false 
      loopTop:false, 
       
      //滚动到最底部是否连续滚动回顶部,默认为false 
      loopBottom:false, 
       
      //横向slider幻灯片是否循环滚动,默认为true 
      loopHorizontal:true, 
       
      //是否使用插件的滚动方式,默认为true,如果选择false,则会出现浏览器自带的滚动条,将不会按页滚动,而是按照滚动条的默认行为来滚动 
      autoScrolling:true, 
       
      //是否包含滚动条,默认为false,如果设置为true,则浏览器自带的滚动条出现,页面滚动时还是按页滚动,但是滚动条的默认行为也有效 
      scrollBar:false, 
       
      //设置每一个section顶部和底部的padding,默认为0,一般如果需要设置一个固定顶部或者底部的菜单、导航、元素等,可以使用这两个配置项 
      paddingTop:0, 
      paddingBottom:0, 
       
      //固定的元素,默认为null,需要配置一个jquery选择器。在页面滚动的时候,fixedElements设置的元素固定不动 
      fixedElements:"", 
       
      //是否可以使用键盘方向键导航,默认为true 
      keyboardScrolling:true, 
       
      //在移动设备中滑动页面的敏感性,默认为5,是按百分比来衡量,最高为100,越大则越难滑动 
      touchSensitivity:5, 
       
      //是否循环滚动,默认为false。如果设置为true,则页面会循环滚动,而不像loopTop或loopBottom那样出现跳动,注意这个属性和这两者不兼容,请不要同时使用 
      continuousVertical:false, 
       
      //锚链接是否可以控制滚动动画,默认为true。如果设置为false,则通过锚链接定位到某个页面显示不再有动画效果 
      animateAnchor:true, 
       
      //是否记录历史,默认为true,可以记录页面滚动的历史,通过浏览器的前进后退来导航。注意如果设置了autoScrolling:false,那么这个配置也将被关闭,即设置为false 
      recordHistory:true, 
       
      //绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动,默认为false。可以设置为菜单的jquery选择器 
      menu:false, 
       
      //是否显示导航,默认为false。如果设置为true,会显示小圆点,作为导航 
      navigation:true, 
       
      //导航小圆点的位置,可以设置为left或者right 
      navigationPosition:"right", 
       
      //导航小圆点的tooltips设置,默认为[],注意按照顺序设置 
      navigationTooltips:["page1","page2","page3","page4"], 
       
      //是否显示当前页面的导航的tooltip信息,默认为false 
      showActiveTooltip:true, 
       
      //是否显示横向幻灯片的导航,默认为false 
      slidesNavigation:true, 
       
      //横向幻灯片导航的位置,默认为bottom,可以设置为top或bottom 
      slidesNavPosition:"top", 
       
      //内容超过满屏后是否显示滚动条,默认为false。如果设置为true,则会显示滚动条,如果滚动查看内容,还需要jquery.slimscroll插件的配合 
      scrollOverflow:false, 
       
      //section的选择器,默认为.section 
      sectionSelector:".section", 
       
      //slideSelector:slide的选择器,默认为.slide 
      slideSelector:".slide", 
    }); 
  }) 
</script>

还有一些fullPage里的方法函数(可调用,这里我没调用)

//方法函数 
        $.fn.fullpage.xxx()//调用方法 
        $.fn.fullpage.moveSectionUp();//向上滚动一页 
        $.fn.fullpage.moveSectionDown();//向下滚动一页 
        $.fn.fullpage.moveTo(section,slide);//滚动到第几页,第几个幻灯片,注意,页面是从1开始,而幻灯片是从0开始 
        $.fn.fullpage.silentMoveTo(section,slide);//滚动到第几页,第几个幻灯片和moveTo一样,但是没有动画效果 
        $.fn.fullpage.moveSlideRight();//幻灯片向右滚动 
        $.fn.fullpage.moveSlideLeft();//幻灯片向左滚动 
        $.fn.fullpage.setAutoScrolling(Boolean);//动态设置autoScrolling 
        $.fn.fullpage.setLockAnchors(Boolean);//动态设置lockAnchors 
        $.fn.fullpage.setRecordHistory(Boolean);//动态设置recordHistory 
        $.fn.fullpage.setScrollingSpeed(milliseconds);//动态设置scrollingSpeed 
        $.fn.fullpage.destroy(type);//销毁fullpage特效,type可以不写,或者使用all,不写type,fullpage给页面添加的样式和html元素还在如果使用all,则样式、html等全部销毁,页面恢复和不使用fullpage相同的效果 
        $.fn.fullpage.reBuild();//重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果

演示效果:

全屏滚动插件fullPage.js使用实例解析

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

Javascript 相关文章推荐
javascript里的条件判断
Feb 27 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
Jul 04 Javascript
2种jQuery 实现刮刮卡效果
Feb 01 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
微信小程序实现九宫格抽奖
Apr 15 Javascript
Vue中通过Vue.extend动态创建实例的方法
Aug 13 Javascript
TypeScript高级用法的知识点汇总
Dec 17 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
针对Vue路由history模式下Nginx后台配置操作
Oct 22 Javascript
connection reset by peer问题总结及解决方案
Oct 21 #Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 #Javascript
js制作支付倒计时页面
Oct 21 #Javascript
浅谈javascript中的三种弹窗
Oct 21 #Javascript
JS动态给对象添加属性和值的实现方法
Oct 21 #Javascript
AngularJS 与百度地图的结合实例
Oct 20 #Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 #Javascript
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
python实现哈希表
2014/02/07 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
python批量提取word内信息
2015/08/09 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Python判断telnet通不通的实例
2019/01/26 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
Python request中文乱码问题解决方案
2020/09/17 Python
Python 串口通信的实现
2020/09/29 Python
Python jieba库分词模式实例用法
2021/01/13 Python
国贸专业个人求职信分享
2013/12/04 职场文书
读书心得体会
2013/12/28 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript