layer实现弹出层自动调节位置


Posted in Javascript onSeptember 05, 2019

项目中有弹出层的内容是不固定的,根据情况可能变长变短,于是就要求做layer弹出层的大小自适应,查询了api后发现

layer.iframeAuto方法可以实现,这里吐槽一点,ie浏览器的html没有被body撑大,而iframeAuto方法是根据html的高度计算的,导致我之前出现在ie下,调用iframeAuto后高度直接变零。

好了,做好了这一点之后,测试又提出一个问题,因为他是用小屏幕测试的,上面的位置没有变,弹出层变长以后按钮就被挤到下面去了。所以我需要做一个效果,在弹出层长度改变后重新居中。

这时我就在网上开始找资料了,发现layer.style可以实现这个效果,但是很麻烦需要计算然后赋值。

正当我决定用这个方案时,结果我在chrome控制台测试layer.style时发现一个意外的效果。当我移动控制台边界改变大小时,弹出层自动居中了。

移动前

layer实现弹出层自动调节位置

移动后

layer实现弹出层自动调节位置

实际上是触发了父层的$(window).resize()。

然后我开始向这个方法实验,但是不管是$(top.window).resize(),$(window.top).resize(),top.$(window).resize(),$(top).resize()都不能触发top层的$(window).resize()方法。

最后还是没有成功,我只好重新使用layer.style来计算了

var index = top.layer.getFrameIndex(window.name);//获得layer弹出层索引
top.layer.iframeAuto(index, 30);//layer弹出层自适应,改造的代码,源代码加上自己加的高度
var topHeight = ($(top.window).height() - $(window).height())/2;//计算高度
top.layer.style(index,{top:topHeight+"px"});//设置弹出层位置

中规中矩解决这个问题,不过还是不知道在弹出层是否能够调用父页面的$(window).resize()

完!

以上这篇layer实现弹出层自动调节位置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 蒙版进度条(结合图片)
Mar 10 Javascript
超级酷和最实用的jQuery实例收集(20个)
Apr 21 Javascript
js打印纸函数代码(递归)
Jun 18 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
jquery实现点击变换导航样式的方法
Aug 31 Javascript
使用jquery给指定的table动态添加一行、删除一行
Oct 13 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
Jul 11 Javascript
js代码规范之Eslint安装与配置详解
Sep 08 Javascript
vue和better-scroll实现列表左右联动效果详解
Apr 29 Javascript
JavaScript变量作用域及内存问题实例分析
Jun 10 Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
vue使用i18n实现国际化的方法详解
Sep 05 #Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 #Javascript
一文看懂如何简单实现节流函数和防抖函数
Sep 05 #Javascript
React路由鉴权的实现方法
Sep 05 #Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
Sep 05 #Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 #Javascript
在layui中layer弹出层点击事件无效的解决方法
Sep 05 #Javascript
You might like
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php array_intersect()函数使用代码
2009/01/14 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
学习php开源项目的源码指南
2014/12/21 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
新手入门常用代码集锦
2007/01/11 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
js数组去重的hash方法
2016/12/22 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
python使用Berkeley DB数据库实例
2014/09/26 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
会计专业毕业生求职信分享
2014/01/03 职场文书
高中运动会入场词
2014/02/14 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
自信主题班会
2015/08/14 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
Element实现动态表格的示例代码
2021/08/02 Javascript
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers