详解vue-flickity的fullScreen功能实现


Posted in Javascript onApril 07, 2020

描述

在项目集成了vue-flickity组件后发现,该组件参考flickity官网的fullscreen配置不起作用

实现方法

  • 需要添加flickity-fullscreen组件
  • 在main.js中导入flickity-fullscreen组件
  • 添加flickity组件的fullscreen属性
  • 定义fullscreen的CSS样式

具体步骤

1.添加flickity-fullscreen组件

需要提前配置好flickity

yarn: yarn add flickity-fullscreen --save

npm: npm install flickity-fullscreen

Bower: bower install flickity-fullscreen

2. 在main.js中导入flickity-fullscreen组件

详解vue-flickity的fullScreen功能实现

3. 添加flickity组件的fullscreen属性

详解vue-flickity的fullScreen功能实现

详解vue-flickity的fullScreen功能实现

4. 定义fullscreen的CSS样式

/* 展开全屏按钮样式 */
.flickity-fullscreen-button-view{
  position: absolute;
  width:auto;
  height:auto;
  z-index: 999999;
  top: 0;
  right: 0;
  padding: 5px 10px;
  border-radius: 5px;
  box-shadow: 0 0 10px #0000000f;
}

/* 退出全屏按钮样式,
 * 设置display:none;是为了不让【展开全屏按钮】和【退出全屏按钮】同时显示在页面上
 */
.flickity-fullscreen-button-exit{
  display: none;
}

/* 点击全屏显示效果 */
.is-fullscreen {
  position: fixed;
  z-index: 1100;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  background: #0000009e;
 }

/* 当显示了全屏时,隐藏【展开全屏按钮】 */
.is-fullscreen .flickity-fullscreen-button-view{
  display: none;
}

/* 显示全屏时,显示【退出全屏按钮】设置按钮在页面右上方*/
.is-fullscreen .flickity-fullscreen-button-exit{
  display: block;
  position: absolute;
  width:auto;
  height:auto;  
  z-index: 999999;
  top: 0;
  padding: 5px 10px;
  border-radius: 5px;
  box-shadow: 0 0 10px #0000000f;
  right:0;
}

/* 设置被选中的图片大小为全屏*/
.is-fullscreen .is-selected{
  width: 100vw !important;
  height:100vh !important;
}

/* 设置选中的图片自适应屏幕大小,按屏幕大小进行缩放*/
.is-fullscreen .carousel-img{
  width:auto !important;
  height:auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* 取消展开退出按钮点击的边框样式*/
.flickity-button:focus{
  box-shadow: unset;;
}

/* 设置展开退出按钮的宽度*/
.flickity-button-icon{
  width:20px;
}

实际效果

详解vue-flickity的fullScreen功能实现

详解vue-flickity的fullScreen功能实现

Tips不能点击图片显示全屏,暂时只能点击fullscreen按钮全屏状态下没有左右箭头显示,但是可以左右滑动切换图片

参考

https://github.com/metafizzy/flickity-fullscreen#install
https://github.com/drewjbartlett/vue-flickity/issues/43

到此这篇关于详解vue-flickity的fullScreen功能实现的文章就介绍到这了,更多相关vue flickity fullScreen内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
一个javascript图片阅览组件
Nov 09 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
Dec 17 Javascript
JS 实现Table相同行的单元格自动合并示例代码
Aug 27 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 20 Javascript
DOM基础教程之使用DOM设置文本框
Jan 20 Javascript
简介JavaScript中search()方法的使用
Jun 06 Javascript
jQuery动画效果实现图片无缝连续滚动
Jan 12 Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 Javascript
node.js文件上传处理示例
Oct 27 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
小程序实现带年月选取效果的日历
Jun 27 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
Sep 21 Javascript
小谈angular ng deploy的实现
Apr 07 #Javascript
简单了解Vue + ElementUI后台管理模板
Apr 07 #Javascript
vue开发中遇到的问题总结
Apr 07 #Javascript
手把手教您实现react异步加载高阶组件
Apr 07 #Javascript
javascript绘制简单钟表效果
Apr 07 #Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 #Javascript
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 #jQuery
You might like
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
python单线程实现多个定时器示例
2014/03/30 Python
python操作 hbase 数据的方法
2016/12/18 Python
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
神经网络python源码分享
2017/12/15 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python主线程捕获子线程的方法
2018/06/17 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
Python自带的IDE在哪里
2020/07/01 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
个人典型事迹材料
2014/12/30 职场文书
遗愿清单观后感
2015/06/09 职场文书
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL
Vue深入理解插槽slot的使用
2022/08/05 Vue.js