加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

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

发布时间:2018-08-22 03:55:44 所属栏目:业界 来源:站长网
导读:笔者在项目中使用 jquery.ui.dialog 1.7.2时,当使用$(#d).dialog(open);时,dialog总是弹出在option中指定的位置; 经过摸索进行了扩展,增加自动记住关闭时的位置的功能,源码如下: Copy to Clipboard 引用的内容:[www.veryhuo.com]//myJquery.ui.dialo

笔者在项目中使用 jquery.ui.dialog 1.7.2时,当使用$("#d").dialog("open");时,dialog总是弹出在option中指定的位置;

 经过摸索进行了扩展,增加“自动记住关闭时的位置”的功能,源码如下:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com] //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);
////////////////////////////////////////

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

 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读