赞
踩
vue-fullpage.js 用于创建类似幻灯片的全屏滚动效果。
官网地址 https://github.com/alvarotrigo/vue-fullpage.js
Demo演示 jQuery全屏滚动插件fullPage.js演示_dowebok
代码在线调试 https://codepen.io/alvarotrigo/pen/zpQmwq?editors=1000
目录
1. 安装
npm install --save vue-fullpage.js
2. 配置
main.js中
- // 全屏滚动 vue-fullpage.js
- import 'fullpage.js/vendors/scrolloverflow';
- import VueFullpage from 'vue-fullpage.js'
- Vue.use(VueFullpage)
public/index.html 中的 <head></head>标签内
- <!--全屏滚动插件-vue-fullpage.js的样式-->
- <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>为横向子页
- <template>
- <div>
- <full-page :options="options" ref="fullpage">
- <div class="section">
- <h3>vue-fullpage.js</h3>
- </div>
- <div class="section">
- <div class="slide">
- <h3>Slide 2.1</h3>
- </div>
- <div class="slide">
- <h3>Slide 2.2</h3>
- </div>
- <div class="slide">
- <h3>Slide 2.3</h3>
- </div>
- </div>
- <div class="section">
- <h3>Section 3</h3>
- </div>
- </full-page>
- </div>
- </template>
options 配置
- <script>
- export default {
- data() {
- return {
- options: {
- licenseKey: "OPEN-SOURCE-GPLV3-LICENSE",
- //是否显示导航,默认为false
- navigation: true,
- //为每个section设置背景色
- sectionsColor: [
- "#41b883",
- "#ff5f45",
- "#0798ec",
- "#fec401",
- "#1bcee6",
- "#ee1a59",
- "#2c3e4f",
- "#ba5be9",
- "#b4b8ab"
- ],
- }
- }
- }
- }
- </script>
其他options 配置
- //导航小圆点的位置,left或者right,默认为right
- navigationPosition: 'left',
- //是否可以使用键盘方向键导航(上下键翻页),默认为true
- keyboardScrolling: true,
- //是否显示两侧的箭头
- controlArrows: false,
- //每一页幻灯片的内容是否垂直居中,默认为true
- verticalCentered: true,
- //字体是否随着窗口缩放而缩放 默认为true
- resize: true,
- //页面滚动速度
- scrollingSpeed: 700,
- //定义锚链接,用户可以快速打开定位到某一页面;不需要加"#",不要和页面中任意的id和name相同
- anchors: ["page1", "page2", "page3"],
- //是否锁定锚链接
- lockAnchors: true,
- //定义section页面的滚动方式,需要引入jquery.easings插件
- easing:'',
- //是否使用css3 transform来实现滚动效果
- css3: false,
- //滚动到最顶部后是否连续滚动到底部
- loopTop: true,
- //滚动到最底部后是否连续滚动到顶部
- loopBottom: true,
- //横向slide幻灯片是否循环滚动
- loopHorizontal: false,
- //是否循环滚动,不会出现跳动,效果很平滑
- continuousVertical: true,
- //是否使用插件滚动方式,设为false后,会出现浏览器自带的滚动条,将不会按页滚动
- autoScrolling: false,
- //是否包含滚动条,设为true,则浏览器自带的滚动条会出现,页面还是按页滚动,但是浏览器滚动条默认行为也有效
- scrollBar: true,
- //设置每个section顶部的padding,当我们要设置一个固定在顶部的菜单、导航、元素等时使用
- paddingTop: "100px",
- //设置每个section底部的padding,当我们要设置一个固定在底部的菜单、导航、元素等时使用
- paddingBottom: "100px",
- //固定的元素,为jquery选择器;可用于顶部导航等
- fixedElements: ".nav",
- //在移动设置中页面敏感性,最大为100,越大越难滑动
- touchSensitivity: 5,
- //设为false,则通过锚链接定位到某个页面不再有动画效果
- animateAnchor: false,
- //是否记录历史,可以通过浏览器的前进后退来导航
- recordHistory: true,
- //绑定菜单,设定相关属性和anchors的值对应后,菜单可以控制幻灯片滚动
- menu: '.nav',
- // 鼠标移动到小圆点上时显示出的提示信息
- navigationTooltips: ["第一页","第二页","第三页"],
- // 是否显示当前页面小圆点导航的提示信息,不需要鼠标移上
- showActiveTooltip: true,
- // 是否显示横向幻灯片的导航
- slidesNavigation: true,
- // 横向幻灯片导航的位置,可以为top或者bottom
- slidesNavPosition: 'bottom',
- // 内容超过满屏时是否显示滚动条,需要jquery.slimscroll插件
- scrollOverflow: true,
- // section选择器
- sectionSelector: ".section",
- // slide选择器
- slideSelector: ".slide"
4. 调用 API
- // 向下滚动一页
- this.$refs.fullpage.api.moveSectionDown();
其他 API
- // 向上滚动一页
- moveSectionUp();
- //向下滚动一页
- moveSectionDown();
- //滚动到第几页,第几个幻灯片;页面从1计算,幻灯片从0计算
- moveTo(wection,slide);
- //和moveTo一样,但是没有动画效果
- silentMoveTo(section,slide);
- //幻灯片向右滚动
- moveSlideRight();
- //幻灯片向左滚动
- moveSlideLeft();
- //动态设置autoScrolling配置项
- setAutoScrolling(boolean);
- //动态设置lockAnchors配置项
- setLockAnchors(boolean);
- //动态设置recordHistory配置项
- setRecordHistory(boolean);
- //动态设置scrollingSpeed配置项
- setScrollingSpeed(milliseconds);
- //添加或删除鼠标/滑动控制,第一个参数为启用、禁用;第二个参数为方向,取值包含all、up、dowm、left、right,可以使用多个,逗号分隔
- setAllowScrolling(boolean,[directions]);
- //销毁fullpage特效,不写type,fullpage给页面添加的样式和html元素还在;如果使用all,则样式和html等全部被销毁
- destroy(type);
- //重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果
- reBuild();
完整范例代码
- <template>
- <div>
- <full-page :options="options" ref="fullpage">
- <div class="section">
- <div style="text-align: center">
- <h1 style="color: white">小米手机拍照效果</h1>
- <button @click="next">下一页</button>
- </div>
- </div>
- <div class="section">
- <div class="slide">
- <div style="height: 100vh">
- <img width="100%"
- src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section14-8.jpg"
- alt="">
- </div>
- </div>
- <div class="slide">
- <div style="height: 100vh">
- <img width="100%"
- src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section14-6.jpg"
- alt="">
- </div>
- </div>
- <div class="slide">
- <div style="height: 100vh">
- <img width="100%"
- src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section16-2.jpg"
- alt="">
- </div>
- </div>
- </div>
- <div class="section">
- <div class="box3">
- <div style="height: 100vh">
- <img height="100%"
- src="https://cdn.cnbj1.fds.api.mi-img.com/product-images/redminote9pro/section11-1.jpg"
- alt="">
- </div>
- </div>
- </div>
- </full-page>
- <div>
- </div>
- </div>
- </template>
- <script>
- export default {
- data() {
- return {
- options: {
- licenseKey: "OPEN-SOURCE-GPLV3-LICENSE",
- //是否显示导航,默认为false
- navigation: true,
- //为每个section设置背景色
- sectionsColor: [
- "#41b883",
- "#ff5f45",
- "#0798ec",
- "#fec401",
- "#1bcee6",
- "#ee1a59",
- "#2c3e4f",
- "#ba5be9",
- "#b4b8ab"
- ],
- }
- }
- },
- methods: {
- next() {
- // 向下滚动一页
- this.$refs.fullpage.api.moveSectionDown();
- }
- }
- }
- </script>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。