详解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 相关文章推荐
用显卡加速,轻松把笔记本打造成取暖器的办法!
Apr 17 Javascript
ES6中如何使用Set和WeakSet
Mar 10 Javascript
Jquery实时监听input value的实例
Jan 26 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
p5.js入门教程和基本形状绘制
Mar 15 Javascript
深入理解Vue 的钩子函数
Sep 05 Javascript
微信小程序实现form表单本地储存数据
Jun 27 Javascript
解决layui 表单元素radio不显示渲染的问题
Sep 04 Javascript
JS中间件设计模式的深入探讨与实例分析
Apr 11 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
May 19 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
咖啡语言
2021/03/03 咖啡文化
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
PHP多文件上传类实例
2015/03/07 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
常用的js方法合集
2017/03/10 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
Python中itertools模块用法详解
2014/09/25 Python
Python下的twisted框架入门指引
2015/04/15 Python
Python中的条件判断语句基础学习教程
2016/02/07 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
Python Grid使用和布局详解
2018/06/30 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
大学生村官承诺书
2014/03/28 职场文书
促销活动总结范文
2014/04/30 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
导游词之长城八达岭
2019/09/24 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers