jQuery全屏滚动插件fullPage.js/可制作全屏滚动网页

jQuery全屏滚动插件fullPage.js

0.01 基本演示  的HTML 布局 以及js 代码
   
  1. //需要连接 连接的三个文件
  2. <link rel="stylesheet" href="css/jquery.fullPage.css"> //css文件
  3. <script src="js/jquery-1.8.3.min.js"></script> //jQuery 1.8.3的版本
  4. <script src="js/jquery.fullPage.min.js"></script> //fullPage插件的压缩版本
  1. <style>
  2. .section { text-align: center; font: 50px "Microsoft Yahei"; color: #fff;} //可以改动 设置的是网页中的文字 <无关紧要>
  3. </style>
  4. <script>
  5. $(function(){
  6. $('#dowebok').fullpage({  
  7. //fullpage 比较重要 设置的是插件的基本设置 后面的
  8. sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90']  
  9. //sectionsColor 当没有背景图片的时候这个就是设置背景颜色的否则就是空白 数组的形式 中间以逗号隔开 颜色不管是十六进制还是英文单词都需要用单引号包着
  10. });
  11. });
  12. </script>
  1. <div id="dowebok"> //绑定的大盒子 设置滚动的盒子
  2. <div class="section">
  3. <h3>第一屏</h3>
  4. <p>fullPage.js — 基本演示</p>
  5. </div>
  6. <div class="section"> //滚动的第二屏幕 如果在里面添加div和slide的样式就可以增加横向 点击
  7. <div class="slide"><h3>第二屏的第一屏</h3></div>
  8. <div class="slide"><h3>第二屏的第二屏</h3></div>
  9. <div class="slide"><h3>第二屏的第三屏</h3></div>
  10. </div>
  11. <div class="section">
  12. <h3>第三屏</h3>
  13. </div>
  14. <div class="section">
  15. <h3>第四屏</h3>
  16. <p>这是最后一屏</p>
  17. </div>
  18. </div>
0.02  插入背景图片演示  的HTML 布局 以及js 代码   <需要链接的文件都是一样的>
  
  1. <style> //需要注意的是这里 没有设置颜色 而是在css中设置的背景图片0
  2. .section1 { background: url(images/1.jpg) 50%;}
  3. .section2 { background: url(images/2.jpg) 50%;}
  4. .section3 { background: url(images/3.jpg) 50%;}
  5. .section4 { background: url(images/4.jpg) 50%;}
  6. </style>
  7. <script>
  8. $(function(){
  9. $('#dowebok').fullpage(); //找到大盒子 设置fullpage全屏滚动
  10. });
  11. </script>
  12. <div id="dowebok">
  13. <div class="section section1"></div>
  14. <div class="section section2"></div>
  15. <div class="section section3"></div>
  16. <div class="section section4"></div>
  17. </div>
0.03 循环演示 html 布局以及js代码          <需要链接的文件都是一样的>
   
  1. <script>
  2. $(function(){
  3. $('#dowebok').fullpage({
  4. sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'], //和上面一样 sectionsColor 是设置每一屏的颜色 必须用逗号隔开 单引号包着
  5. continuousVertical: false, //设置是否滑到底层再往下滚动是第一张图 设置true是执行此操作 设置false是不执行 默认不执行 不执行就不设置
  6. });    
  7. });
  8. </script>
  9. <div id="dowebok">
  10. <div class="section">
  11. <h3>第一屏</h3>
  12. <p>fullPage.js — 循环演示</p>
  13. </div>
  14. <div class="section">
  15. <h3>第二屏</h3>
  16. </div>
  17. <div class="section">
  18. <h3>第三屏</h3>
  19. </div>
  20. <div class="section">
  21. <h3>第四屏</h3>
  22. <p>这是最后一屏了,继续往下滚返回第一屏</p>
  23. </div>
  24. </div>
0.04  回调函数演示 
  
  1. <title>fullPage.js — 回调函数演示</title>
  2. <link rel="stylesheet" href="css/jquery.fullPage.css">
  3. <style>
  4. .section { text-align: center; font: 50px "Microsoft Yahei"; color: #fff;}
  5. .section2 p { position: relative; left: -120%;}
  6. .section3 p { position: relative; bottom: -120%;}
  7. .section4 p { display: none;}
  8. </style>
  9. <script src="js/jquery.min.js"></script>
  10. <script src="js/jquery-ui.js"></script>
  11. <script src="js/jquery.fullPage.js"></script>
  12. <script>
  13. $(function(){
  14. $('#dowebok').fullpage({
  15. sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],
  16. //设置背景颜色
  17. afterLoad: function(anchorLink, index){
  18. //滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号,从1开始计算
  19. if(index == 2){
  20. $('.section2').find('p').delay(500).animate({
  21. //find('p') 搜索所有段落中的后代 p 元素
  22. //delay(500)其中参数为延时值,它的单位是毫秒
  23. //animate() 方法执行 CSS 属性集的自定义动画
  24. left: '0'
  25. }, 1500, 'easeOutExpo'); //jQuery Easing 动画效果扩展
  26. }
  27. if(index == 3){
  28. $('.section3').find('p').delay(500).animate({
  29. bottom: '0'
  30. }, 1500, 'easeOutExpo');
  31. }
  32. if(index == 4){
  33. $('.section4').find('p').fadeIn(2000);
  34. //fadeIn() 方法逐渐改变被选元素的不透明度,从隐藏到可见(褪色效果)
  35. }
  36. },
  37. onLeave: function(index, direction){
  38. //滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:index 是离开的“页面”的序号,从1开始计算;
  39. //nextIndex 是滚动到的“页面”的序号,从1开始计算;
  40. //direction 判断往上滚动还是往下滚动,值是 up 或 down。
  41. if(index == '2'){
  42. $('.section2').find('p').delay(500).animate({
  43. left: '-120%'
  44. }, 1500, 'easeOutExpo');
  45. }
  46. if(index == '3'){
  47. $('.section3').find('p').delay(500).animate({
  48. bottom: '-120%'
  49. }, 1500, 'easeOutExpo');
  50. }
  51. if(index == '4'){
  52. $('.section4').find('p').fadeOut(2000);
  53. //fadeOut() 方法逐渐改变被选元素的不透明度,从可见到隐藏(褪色效果)
  54. }
  55. },
  56. continuousVertical: false,
  57. // 是否循环滚动,与 loopTop 及 loopBottom 不兼容
  58. });
  59. });
  60. </script>
  61. <div id="dowebok">
  62. <div class="section section1">
  63. <h3>第一屏</h3>
  64. <p>fullPage.js — 回调函数演示</p>
  65. </div>
  66. <div class="section section2">
  67. <h3>第二屏</h3>
  68. <p>滚动到第二屏后的回调函数执行的效果</p>
  69. </div>
  70. <div class="section section3">
  71. <h3>第三屏</h3>
  72. <p>滚动到第三屏后的回调函数执行的效果</p>
  73. </div>
  74. <div class="section section4">
  75. <h3>第四屏</h3>
  76. <p>滚动到第四屏后的回调函数执行的效果</p>
  77. </div>
  78. </div>
0.05 绑定菜单方法
   
  1. <title>fullPage.js — 绑定菜单演示_dowebok</title>
  2. <link rel="stylesheet" type="text/css" href="css/jquery.fullPage.css">
  3. <style>
  4. #menu { margin: 0; padding: 0; position: fixed; left: 10px; top: 10px; list-style-type: none; z-index: 70;}
  5. #menu li { float: left; margin: 0 10px 0 0; font-size: 14px;}
  6. #menu a { float: left; padding: 10px 20px; background-color: #fff; color: #333; text-decoration: none;}
  7. #menu .active a { color: #fff; background-color: #333;}
  8. .section { text-align: center; font: 50px "Microsoft Yahei"; color: #fff;}
  9. </style>
  10. <script src="js/jquery.min.js"></script>
  11. <script src="js/jquery.fullPage.js"></script>
  12. <script>
  13. $(function(){
  14. $('#dowebok').fullpage({
  15. sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],
  16. //设置颜色参数
  17. anchors: ['page1', 'page2', 'page3', 'page4'],
  18. //定义锚链接
  19. menu: '#menu'
  20. //绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动
  21. });
  22. });
  23. </script>
  24. <ul id="menu">
  25. <li data-menuanchor="page1" class="active"><a href="#page1">第一屏</a></li>
  26. <li data-menuanchor="page2"><a href="#page2">第二屏</a></li>
  27. <li data-menuanchor="page3"><a href="#page3">第三屏</a></li>
  28. <li data-menuanchor="page4"><a href="#page4">第四屏</a></li>
  29. </ul>
  30. <div id="dowebok">
  31. <div class="section">
  32. <h3>第一屏</h3>
  33. <p>fullPage.js — 绑定菜单演示</p>
  34. </div>
  35. <div class="section">
  36. <h3>第二屏</h3>
  37. <p>请查看左上角,点击可以控制</p>
  38. </div>
  39. <div class="section">
  40. <h3>第三屏</h3>
  41. <p>绑定的菜单没有默认的样式,你需要自行编写</p>
  42. </div>
  43. <div class="section">
  44. <h3>第四屏</h3>
  45. <p>这是最后一屏</p>
  46. </div>
  47. </div>
0.06 项目导航演示
   
  1. <script>
  2. $(function(){
  3. $('#dowebok').fullpage({
  4. sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],
  5. //设置颜色属性
  6. 'navigation': true,
  7. //是否显示项目导航 默认值是false 需要设置true
  8. });
  9. });
  10. </script>
  11. <div id="dowebok">
  12. <div class="section">
  13. <h3>第一屏</h3>
  14. <p>fullPage.js — 项目导航演示</p>
  15. </div>
  16. <div class="section">
  17. <h3>第二屏</h3>
  18. <p>请查看右边的圆圈</p>
  19. </div>
  20. <div class="section">
  21. <h3>第三屏</h3>
  22. <p>圆圈还可以设置位置,颜色,加上 tip,点击可以控制</p>
  23. </div>
  24. <div class="section">
  25. <h3>第四屏</h3>
  26. <p>这是最后一屏</p>
  27. </div>
  28. </div>
0.07 自动循环滚动
   
  1. <style>
  2. .section { text-align: center; font: 50px "Microsoft Yahei"; color: #fff;}
  3. </style>
  4. <div id="dowebok">
  5. <div class="section">
  6. <h3>第一屏</h3>
  7. </div>
  8. <div class="section">
  9. <h3>第二屏</h3>
  10. </div>
  11. <div class="section">
  12. <h3>第三屏</h3>
  13. </div>
  14. <div class="section">
  15. <h3>第四屏</h3>
  16. </div>
  17. </div>
  18. <script>
  19. $(function(){
  20. $('#dowebok').fullpage({
  21. sectionsColor : ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],
  22. //设置颜色属性
  23. continuousVertical: true
  24. //设置是否循环滚动,与 loopTop 及 loopBottom 不兼容 默认是false
  25. });
  26. setInterval(function(){ //定时器 三秒一执行
  27. $.fn.fullpage.moveSectionDown(); //向下滚动
  28. }, 3000);
  29. });
  30. </script>
0.08 设置横屏的自动播放 
   
  1. <style>
  2. .section { text-align: center; font: 50px "Microsoft Yahei"; color: #fff;}
  3. </style>
  4. <div id="dowebok">
  5. <div class="section">
  6. <h3>第一屏</h3>
  7. <p>请滚动到第二屏查看</p>
  8. </div>
  9. <div class="section">
  10. <div class="slide"><h3>第二屏的第一屏</h3></div>
  11. <div class="slide"><h3>第二屏的第二屏</h3></div>
  12. <div class="slide"><h3>第二屏的第三屏</h3></div>
  13. </div>
  14. <div class="section">
  15. <h3>第三屏</h3>
  16. </div>
  17. <div class="section">
  18. <h3>第四屏</h3>
  19. </div>
  20. </div>
  21. <script src="js/jquery.min.js"></script>
  22. <script src="js/jquery.fullPage.js"></script>
  23. <script>
  24. $(function(){
  25. $('#dowebok').fullpage({
  26. sectionsColor : ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],
  27. //设置颜色属性
  28. loopBottom: true
  29. //loopBottom 布尔值 false 滚动到最底部后是否滚回顶部
  30. });
  31. setInterval(function(){
  32. $.fn.fullpage.moveSlideRight();
  33. //moveSlideRight() slide 向右滚动
  34. // moveSlideLeft() slide 向左滚动
  35. }, 3000);
  36. });
  37. </script>

0.09 判断当前浏览器的宽度 小于多少的时候关闭滚动
   
  1. <link rel="stylesheet" type="text/css" href="css/jquery.fullPage.css">
  2. <style>
  3. .section { text-align: center; font: 30px "Microsoft Yahei"; color: #fff;}
  4. </style>
  5. <div id="dowebok">
  6. <div class="section">
  7. <p>根据可视区域大小启用/关闭全屏滚动效果</p>
  8. </div>
  9. <div class="section">
  10. <p>如果可视区宽度小于1024,则关闭全屏滚动效果,使用自带的滚动条</p>
  11. </div>
  12. <div class="section">
  13. <p>请试着调整浏览器大小并查看滚动条是否出现</p>
  14. </div>
  15. <div class="section">
  16. <p>第四屏</p>
  17. </div>
  18. </div>
  19. <script>
  20. $(function(){
  21. $('#dowebok').fullpage({
  22. sectionsColor : ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90']
  23. //设置颜色属性
  24. });
  25. $(window).resize(function(){
  26. //当调整浏览器窗口的大小时,发生 resize 事件。resize() 方法触发 resize 事件,或规定当发生 resize 事件时运行的函数
  27. autoScrolling();
  28. //true 是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条
  29. });
  30. function autoScrolling(){
  31. var $ww = $(window).width();
  32. if($ww < 1024){
  33. $.fn.fullpage.setAutoScrolling(false);
  34. //setAutoScrolling() 设置页面滚动方式,设置为 true 时自动滚动 设置为false不滚动
  35. } else {
  36. $.fn.fullpage.setAutoScrolling(true);
  37. }
  38. }
  39. autoScrolling();
  40. });
  41. </script>

fullPage.js 是 jQuery 的一个插件,主要功能是制作出全屏网站 fullPage插件的兼容性是兼容IE7浏览器往上 其余主流浏览器就不描叙了 fullpage插件支持以下操作

1、插件可以使用鼠标滑轮进行滚动

2、当竖屏的时候支持键盘的上下箭头滚动  横屏对照可以使用的是左右箭头

3、能使用 多个回调函数 制作出动画效果  但是需要涉及到jQuery ui的插件连接<在下面有>

4、fullPage 同样也是 支持 触摸事件  如可触摸式笔记本 平板  手机

5、能在属性操作时 使用css3动画 但是要注意 css3的兼容性

6、能够自适应 屏幕的大小

7、可以设置页面的滚动宽度 以及背景颜色 是否循环播放  可以时候回调函数  文本可以设置样式


使用 fullPage中我引用的文件具体如下所示  <必须注意链接顺序 先css文件 再jQuery 1.8.3版本的 然后才是 jQuer ul 或者是 fullPage插件>  注意! 所需链接文件可像我留言索要  也可寻找自行下载

    
  1. <link rel="stylesheet" type="text/css" href="css/jquery.fullPage.css"> //这是设置关于插件的样式 需要链接
  2. <script src="js/jquery.min.js"></script> // jQuery 1.8.3版本
  3. <script src="js/jquery-ui.js"></script>                       // JQuery ui 版本1.12.1 <可选>需要设置Easing参数时 必须链接 否则出错
  4. <script src="js/jquery.fullPage.js"></script>                          // 最后是此次的正主 fullPage插件

配置

1、选项

选项类型默认值说明
verticalCentered字符串true内容是否垂直居中
resize布尔值false字体是否随着窗口缩放而缩放
slidesColor函数设置背景颜色
anchors数组定义锚链接
scrollingSpeed整数700滚动速度,单位为毫秒
easing字符串easeInQuart滚动动画方式
menu布尔值false绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动
navigation布尔值false是否显示项目导航
navigationPosition字符串right项目导航的位置,可选 left 或 right
navigationColor字符串#000项目导航的颜色
navigationTooltips数组项目导航的 tip
slidesNavigation布尔值false是否显示左右滑块的项目导航
slidesNavPosition字符串bottom左右滑块的项目导航的位置,可选 top 或 bottom
controlArrowColor字符串#fff左右滑块的箭头的背景颜色
loopBottom布尔值false滚动到最底部后是否滚回顶部
loopTop布尔值false滚动到最顶部后是否滚底部
loopHorizontal布尔值true左右滑块是否循环滑动
autoScrolling布尔值true是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条
scrollOverflow布尔值false内容超过满屏后是否显示滚动条
css3布尔值false是否使用 CSS3 transforms 滚动
paddingTop字符串0与顶部的距离
paddingBottom字符串0与底部距离
fixedElements字符串 
normalScrollElements  
keyboardScrolling布尔值true是否使用键盘方向键导航
touchSensitivity整数5 
continuousVertical布尔值false是否循环滚动,与 loopTop 及 loopBottom 不兼容
animateAnchor布尔值true 
normalScrollElementTouchThreshold整数5 

2、方法

名称说明
moveSectionUp()向上滚动
moveSectionDown()向下滚动
moveTo(section, slide)滚动到
moveSlideRight()slide 向右滚动
moveSlideLeft()slide 向左滚动
setAutoScrolling()设置页面滚动方式,设置为 true 时自动滚动
setAllowScrolling()添加或删除鼠标滚轮/触控板控制
setKeyboardScrolling()添加或删除键盘方向键控制
setScrollingSpeed()定义以毫秒为单位的滚动速度

3、回调函数

名称说明
afterLoad滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号,从1开始计算
onLeave滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:index 是离开的“页面”的序号,从1开始计算;

nextIndex 是滚动到的“页面”的序号,从1开始计算;

direction 判断往上滚动还是往下滚动,值是 up 或 down。

afterRender页面结构生成后的回调函数,或者说页面初始化完成后的回调函数
afterSlideLoad滚动到某一水平滑块后的回调函数,与 afterLoad 类似,接收 anchorLink、index、slideIndex、direction 4个参数
onSlideLeave某一水平滑块滚动前的回调函数,与 onLeave 类似,接收 anchorLink、index、slideIndex、direction 4个参数

版权声明:本文为qinqingz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。