当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能

Javascript
Dhtml:浏览大图时鼠标感应控制层滚动条的移动
初试javascript :贪吃蛇啊
只让输入数字的输入框
只能输入汉字的输入框
在JS中定义数组删除方法
在网页中使用realplayer播放rm文件
用层实现为网页中的图添加水印的效果
所见即所得编辑器 aynHTML 大全:(一)如何部署、嵌入、装载动态内容
JavaScript 收集的两个小代码!
JScript中正则表达函数的说明与应用
网页上内容导出到word里
关于开发在线网页编辑器按回车会输入<p>而不是<br>的解决方法
OOP In JS [JS脚本中的面向对象]
一个很通用的javascript的下拉菜单
将金额小写转化成汉字大写
VML Chart 控件
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
Javascript实例教程(21) OLE Automation(4)
javascript进行客户端数据的校验
JavaScript 小技巧(第三集)

Javascript 中的 为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 101 ::
收藏到网摘: n/a

笔者在项目中使用 jquery.ui.dialog 1.7.2时,当使用$("#d").dialog("open");时,dialog总是弹出在option中指定的位置; 经过摸索进行了扩展,增加“自动记住关闭时的位置”的功能,源码如下:
复制代码 代码如下:

//myJquery.ui.dialog.ex.js
////////////////////////////////////
//自动记住 jquery.ui.dialog关闭时的位置
///////////////////////////////////
(function($){
var originClose = $.ui.dialog.prototype.close;
$.ui.dialog.prototype.close = function()
{
//判断option中是否指定不使用此功能,如 $("#d").dialog({rememberPosition:false});
if(this.options.rememberPosition != false)
{
this.position = this.uiDialog.offset() ;
var top = $('body').scrollTop();
if(top == 0) top = $(document).scrollTop(); //修正!DOCTYPE BUG
var left = $('body').scrollLeft();
if(left == 0) left = $(document).scrollLeft(); //修正!DOCTYPE BUG
this.options.position = [this.position.left-left,this.position.top-top];
}
originClose.apply(this,arguments);
};
})(jQuery);

原理很简单,不再做特殊说明,有此需求的朋友可参考一下。