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电信网通双线自动选择技巧
Nov 18 Javascript
Date对象格式化函数代码
Jul 17 Javascript
JS 控件事件小结
Oct 31 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
javascript实现控制的多级下拉菜单
Jul 05 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
Vue.js组件使用props传递数据的方法
Oct 19 Javascript
js 计算月/周的第一天和最后一天代码
Feb 01 Javascript
前端开发基础javaScript的六大作用
Aug 06 Javascript
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函数
2006/10/09 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
jquery+css实现下拉列表功能
2017/09/03 jQuery
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
python日志记录模块实例及改进
2017/02/12 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
python 如何引入协程和原理分析
2020/11/30 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
食堂个人先进事迹
2014/01/22 职场文书
网站创业计划书
2014/04/30 职场文书
临床专业自荐信
2014/06/22 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
家长会欢迎词
2015/01/23 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
东京审判观后感
2015/06/01 职场文书
早恋主题班会
2015/08/14 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
提档介绍信范文
2015/10/22 职场文书
少儿励志名言(80句)
2019/08/14 职场文书