Easyui的dialog在Table与有滚动条的情况下在当前显示的页面居中

在使用Easyui的过程中会遇到点击Table中的某条数据后弹出详情界面的情况。后使用dialog实现该目的,使用过程中发现dialog很难在有下拉框的情况下居中,后百度得知可以通过设置dialog的Top与left属性控制dialog的位置。我的项目是width不会发生改变但height会因为选择table显示的数据个数而出现滚动条,在有滚动条的情况下如何设置top属性呢,后来百度到一种方法:

top:$(document).scrollTop()+($(window).height()-500)*0.5,

上面的方法里$(document).scrollTop()是滚动条到页面顶端的距离,$(window).height()是页面的高度,500是dialog的高度,该公式很好理解,就是dialog距离页面顶端的距离是滚动条的距离加上当前页面的居中距离。

但是在使用过程中发现,上面的公式在页面刚刚加载的时候可以实现,但如果修改table的数据显示个数的属性后就不会达到居中的效果,后调查发现,在修改table的数据显示个数的属性后,$(window).height()的值会发生改变,最后修改代码为:

<script type="text/javascript">
var windowHeight = $(window).height();	
function dblClickRow(index, row) {
$('#dlg').dialog({
title: '违法审核',
align : 'center',
// 弹框top=滚动条到页面顶部的距离+(页面显示的高度-弹框的高度)/2
top:$(document).scrollTop()+(windowHeight-500)*0.5,
cache: false,
modal: true,
});
$('#dlg').dialog('open');

}</script>

经检测,上述代码可以实现想要的效果,效果如图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值