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俄罗斯方块,包含完整的设计理念
Dec 11 Javascript
基于jQuery的倒计时插件代码
May 07 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
Jan 04 Javascript
jQuery1.9+中删除了live以后的替代方法
Jun 17 Javascript
基于js对象,操作属性、方法详解
Aug 11 Javascript
bootstrap响应式工具使用详解
Nov 29 Javascript
利用Javascript获取选择文本所在的句子详解
Dec 03 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
Aug 16 Javascript
JQuery复选框全选效果如何实现
May 08 jQuery
VUE项目实现主题切换的多种方法
Nov 26 Vue.js
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
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+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
python实现海螺图片的方法示例
2019/05/12 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Django 用户认证组件使用详解
2019/07/23 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
平面设计岗位职责
2013/12/14 职场文书
大学自我鉴定
2013/12/20 职场文书
抽奖活动主持词
2014/03/31 职场文书
竞选部长演讲稿
2014/04/26 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫