当前位置:   article > 正文

vue全屏滚动——vue-fullpage.js教程

vue-fullpage

vue-fullpage.js 用于创建类似幻灯片的全屏滚动效果。

官网地址  https://github.com/alvarotrigo/vue-fullpage.js

Demo演示  jQuery全屏滚动插件fullPage.js演示_dowebok

代码在线调试   https://codepen.io/alvarotrigo/pen/zpQmwq?editors=1000

目录

1. 安装

 2. 配置

 3. 使用

4. 调用 API

 完整范例代码


1. 安装

npm install --save vue-fullpage.js

 2. 配置

main.js中

  1. // 全屏滚动 vue-fullpage.js
  2. import 'fullpage.js/vendors/scrolloverflow';
  3. import VueFullpage from 'vue-fullpage.js'
  4. Vue.use(VueFullpage)

public/index.html 中的 <head></head>标签内

  1. <!--全屏滚动插件-vue-fullpage.js的样式-->
  2. <link rel="stylesheet" type="text/css" href="https://unpkg.com/fullpage.js/dist/fullpage.min.css">

 3. 使用

 .vue文件中,每个   <div class="section"></div> 为一页,其中的 <div class="slide"> </div>为横向子页

  1. <template>
  2. <div>
  3. <full-page :options="options" ref="fullpage">
  4. <div class="section">
  5. <h3>vue-fullpage.js</h3>
  6. </div>
  7. <div class="section">
  8. <div class="slide">
  9. <h3>Slide 2.1</h3>
  10. </div>
  11. <div class="slide">
  12. <h3>Slide 2.2</h3>
  13. </div>
  14. <div class="slide">
  15. <h3>Slide 2.3</h3>
  16. </div>
  17. </div>
  18. <div class="section">
  19. <h3>Section 3</h3>
  20. </div>
  21. </full-page>
  22. </div>
  23. </template>

options 配置

  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. options: {
  6. licenseKey: "OPEN-SOURCE-GPLV3-LICENSE",
  7. //是否显示导航,默认为false
  8. navigation: true,
  9. //为每个section设置背景色
  10. sectionsColor: [
  11. "#41b883",
  12. "#ff5f45",
  13. "#0798ec",
  14. "#fec401",
  15. "#1bcee6",
  16. "#ee1a59",
  17. "#2c3e4f",
  18. "#ba5be9",
  19. "#b4b8ab"
  20. ],
  21. }
  22. }
  23. }
  24. }
  25. </script>

其他options 配置

  1. //导航小圆点的位置,left或者right,默认为right
  2. navigationPosition: 'left',
  3. //是否可以使用键盘方向键导航(上下键翻页),默认为true
  4. keyboardScrolling: true,
  5. //是否显示两侧的箭头
  6. controlArrows: false,
  7. //每一页幻灯片的内容是否垂直居中,默认为true
  8. verticalCentered: true,
  9. //字体是否随着窗口缩放而缩放 默认为true
  10. resize: true,
  11. //页面滚动速度
  12. scrollingSpeed: 700,
  13. //定义锚链接,用户可以快速打开定位到某一页面;不需要加"#",不要和页面中任意的id和name相同
  14. anchors: ["page1", "page2", "page3"],
  15. //是否锁定锚链接
  16. lockAnchors: true,
  17. //定义section页面的滚动方式,需要引入jquery.easings插件
  18. easing:'',
  19. //是否使用css3 transform来实现滚动效果
  20. css3: false,
  21. //滚动到最顶部后是否连续滚动到底部
  22. loopTop: true,
  23. //滚动到最底部后是否连续滚动到顶部
  24. loopBottom: true,
  25. //横向slide幻灯片是否循环滚动
  26. loopHorizontal: false,
  27. //是否循环滚动,不会出现跳动,效果很平滑
  28. continuousVertical: true,
  29. //是否使用插件滚动方式,设为false后,会出现浏览器自带的滚动条,将不会按页滚动
  30. autoScrolling: false,
  31. //是否包含滚动条,设为true,则浏览器自带的滚动条会出现,页面还是按页滚动,但是浏览器滚动条默认行为也有效
  32. scrollBar: true,
  33. //设置每个section顶部的padding,当我们要设置一个固定在顶部的菜单、导航、元素等时使用
  34. paddingTop: "100px",
  35. //设置每个section底部的padding,当我们要设置一个固定在底部的菜单、导航、元素等时使用
  36. paddingBottom: "100px",
  37. //固定的元素,为jquery选择器;可用于顶部导航等
  38. fixedElements: ".nav",
  39. //在移动设置中页面敏感性,最大为100,越大越难滑动
  40. touchSensitivity: 5,
  41. //设为false,则通过锚链接定位到某个页面不再有动画效果
  42. animateAnchor: false,
  43. //是否记录历史,可以通过浏览器的前进后退来导航
  44. recordHistory: true,
  45. //绑定菜单,设定相关属性和anchors的值对应后,菜单可以控制幻灯片滚动
  46. menu: '.nav',
  47. // 鼠标移动到小圆点上时显示出的提示信息
  48. navigationTooltips: ["第一页","第二页","第三页"],
  49. // 是否显示当前页面小圆点导航的提示信息,不需要鼠标移上
  50. showActiveTooltip: true,
  51. // 是否显示横向幻灯片的导航
  52. slidesNavigation: true,
  53. // 横向幻灯片导航的位置,可以为top或者bottom
  54. slidesNavPosition: 'bottom',
  55. // 内容超过满屏时是否显示滚动条,需要jquery.slimscroll插件
  56. scrollOverflow: true,
  57. // section选择器
  58. sectionSelector: ".section",
  59. // slide选择器
  60. slideSelector: ".slide"

4. 调用 API

  1. // 向下滚动一页
  2. this.$refs.fullpage.api.moveSectionDown();

其他 API

  1. // 向上滚动一页
  2. moveSectionUp();
  3. //向下滚动一页
  4. moveSectionDown();
  5. //滚动到第几页,第几个幻灯片;页面从1计算,幻灯片从0计算
  6. moveTo(wection,slide);
  7. //和moveTo一样,但是没有动画效果
  8. silentMoveTo(section,slide);
  9. //幻灯片向右滚动
  10. moveSlideRight();
  11. //幻灯片向左滚动
  12. moveSlideLeft();
  13. //动态设置autoScrolling配置项
  14. setAutoScrolling(boolean);
  15. //动态设置lockAnchors配置项
  16. setLockAnchors(boolean);
  17. //动态设置recordHistory配置项
  18. setRecordHistory(boolean);
  19. //动态设置scrollingSpeed配置项
  20. setScrollingSpeed(milliseconds);
  21. //添加或删除鼠标/滑动控制,第一个参数为启用、禁用;第二个参数为方向,取值包含all、up、dowm、left、right,可以使用多个,逗号分隔
  22. setAllowScrolling(boolean,[directions]);
  23. //销毁fullpage特效,不写type,fullpage给页面添加的样式和html元素还在;如果使用all,则样式和html等全部被销毁
  24. destroy(type);
  25. //重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果
  26. reBuild();

完整范例代码

  1. <template>
  2. <div>
  3. <full-page :options="options" ref="fullpage">
  4. <div class="section">
  5. <div style="text-align: center">
  6. <h1 style="color: white">小米手机拍照效果</h1>
  7. <button @click="next">下一页</button>
  8. </div>
  9. </div>
  10. <div class="section">
  11. <div class="slide">
  12. <div style="height: 100vh">
  13. <img width="100%"
  14. src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section14-8.jpg"
  15. alt="">
  16. </div>
  17. </div>
  18. <div class="slide">
  19. <div style="height: 100vh">
  20. <img width="100%"
  21. src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section14-6.jpg"
  22. alt="">
  23. </div>
  24. </div>
  25. <div class="slide">
  26. <div style="height: 100vh">
  27. <img width="100%"
  28. src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section16-2.jpg"
  29. alt="">
  30. </div>
  31. </div>
  32. </div>
  33. <div class="section">
  34. <div class="box3">
  35. <div style="height: 100vh">
  36. <img height="100%"
  37. src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section11-1.jpg"
  38. alt="">
  39. </div>
  40. </div>
  41. </div>
  42. </full-page>
  43. <div>
  44. </div>
  45. </div>
  46. </template>
  47. <script>
  48. export default {
  49. data() {
  50. return {
  51. options: {
  52. licenseKey: "OPEN-SOURCE-GPLV3-LICENSE",
  53. //是否显示导航,默认为false
  54. navigation: true,
  55. //为每个section设置背景色
  56. sectionsColor: [
  57. "#41b883",
  58. "#ff5f45",
  59. "#0798ec",
  60. "#fec401",
  61. "#1bcee6",
  62. "#ee1a59",
  63. "#2c3e4f",
  64. "#ba5be9",
  65. "#b4b8ab"
  66. ],
  67. }
  68. }
  69. },
  70. methods: {
  71. next() {
  72. // 向下滚动一页
  73. this.$refs.fullpage.api.moveSectionDown();
  74. }
  75. }
  76. }
  77. </script>
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/325758
推荐阅读
相关标签
  

闽ICP备14008679号