Jquery EasyUI插件中关于Dialog屏幕显示居中的解决方案
2016-03-09 00:00
531 查看
Jquery EasyUI是一款非常不错的网页UI组件,可惜Jquery2.0 以后不支持IE8了,所以了好多更新的功能以后也用不了了,遗憾啊
下面来说主要问题:
在使用dialog插件时,默认是屏幕居中的,但是当页面出现滚动条时,dialog并没有随着滚动条往下滚动,这时就需要用户滑动滚动条来定位dialog,这不人性化,在说出解决方案前先来普及一下jquery关于定位的几个方法
[javascript]
view plain
copy
//获取浏览器显示区域的高度
$(window).height();
//获取浏览器显示区域的宽度
$(window).width();
//获取页面的文档高度
$(document.body).height();
//获取页面的文档宽度
$(document.body).width();
//获取滚动条到顶部的垂直高度
$(document).scrollTop();
//获取滚动条到左边的垂直宽度
$(document).scrollLeft();
ok,下面问题就很好处理了,移动dialog有现成的函数,不过dialog本身没有move函数,但是dialog是继承自panel的,panel有move函数,因此可以调用panel的move函数来移动dialog
[javascript]
view plain
copy
$('#dlg').dialog('open');
$("#dlg").panel("move",{top:$(document).scrollTop() + ($(window).height()-250) * 0.5});
其中 $(window).height()-250,这里250px是dialog的宽度。
下面来说主要问题:
在使用dialog插件时,默认是屏幕居中的,但是当页面出现滚动条时,dialog并没有随着滚动条往下滚动,这时就需要用户滑动滚动条来定位dialog,这不人性化,在说出解决方案前先来普及一下jquery关于定位的几个方法
[javascript]
view plain
copy
//获取浏览器显示区域的高度
$(window).height();
//获取浏览器显示区域的宽度
$(window).width();
//获取页面的文档高度
$(document.body).height();
//获取页面的文档宽度
$(document.body).width();
//获取滚动条到顶部的垂直高度
$(document).scrollTop();
//获取滚动条到左边的垂直宽度
$(document).scrollLeft();
ok,下面问题就很好处理了,移动dialog有现成的函数,不过dialog本身没有move函数,但是dialog是继承自panel的,panel有move函数,因此可以调用panel的move函数来移动dialog
[javascript]
view plain
copy
$('#dlg').dialog('open');
$("#dlg").panel("move",{top:$(document).scrollTop() + ($(window).height()-250) * 0.5});
其中 $(window).height()-250,这里250px是dialog的宽度。
相关文章推荐
- 编写更好的jQuery代码的建议
- jquery dom 节点操作
- jquery 函数
- jquery 合成事件
- jquery 样式 css
- jquery 属性操作
- jquery选择器
- Jquery.Datatables dom表格定位
- UploadiFive jquery html5上传插件使用[带项目源码]
- Jquery插件
- JQuery 读取 xml
- jquery的add()方法扩大选择返回
- jQuery性能优化
- jQuery获取复选框checkbox的值的正确方法
- JQuery 表单校验
- Jquery Ajax的success:funtion(data)的data非son类型
- jQuery.Callbacks()
- jquery mobile的popup不弹出问题。
- Three steps to use jQuery UI in ASP.NET MVC 5
- Jquery学习笔记一:介绍下jquery