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 相关文章推荐
Jquery实战_读书笔记1—选择jQuery
Jan 22 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
Nov 07 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
Aug 17 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
Oct 12 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
vue之封装多个组件调用同一接口的案例
Aug 11 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
浅谈PHP封装CURL
2019/03/06 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python中实现对list做减法操作介绍
2015/01/09 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
浅析python的Lambda表达式
2019/02/27 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
《翻越远方的大山》教学反思
2014/04/13 职场文书
优秀学生评语大全
2014/04/25 职场文书
教师对学生的评语
2014/04/28 职场文书
保护环境的标语
2014/06/09 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
校长一岗双责责任书
2015/05/09 职场文书
实习单位意见
2015/06/04 职场文书
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫