如何保存对话框窗口的位置
How to save the position of the dialog window
有没有办法保存打开的dialog
窗口的当前位置,这样当我把它拿回来时,它就会回到最后一个位置。这是我的小提琴:http://jsfiddle.net/ZSk6L/935/正如你所看到的,最小化后,窗口下降,但如果我最大化,它会到达一个设定的位置和高度。有什么解决方案可以告诉dialog
框屏幕上的上一个位置?
这只是你的代码的一个技巧,可能会对你有所帮助,即使你拖动它,它也会保存位置:
<div id="window" data-top="" data-left="" data-height="">HEYYYY</div>
$(document).ready(function(){
var d = $('#window').dialog({
draggable: true,
height: 200,
title: 'Results',
open: function( event, ui ) {
$('#resultId').attr('data-top',$('.ui-dialog').css('top'));
$('#resultId').attr('data-left',$('.ui-dialog').css('left'));
$('#resultId').attr('data-height',$('.ui-dialog').css('height'));
},
dragStop: function( event, ui ) {
$('#resultId').attr('data-top',$('.ui-dialog').css('top'));
$('#resultId').attr('data-left',$('.ui-dialog').css('left'));
$('#resultId').attr('data-height',$('.ui-dialog').css('height'));
}
}).attr('id', 'resultId');
var titlebar = d.parents('.ui-dialog').find('.ui-dialog-titlebar');
var min= $('<button/>', {
text: '-',
id: 'minButton',
click: function() {
var top = $('.ui-dialog').css('top');
$('#resultId').parents('.ui-dialog').animate({
height: '40px',
top: $(window).height() - 90
}, 50);
$(this).hide();
$('#maxButton').show();
}
});
var max = $('<button/>', {
text: '+',
id: 'maxButton',
click: function() {
$('#resultId').parents('.ui-dialog').animate({
//set the positioning to center the dialog - 200 is equal to height of dialog
top: $('#resultId').attr('data-top'),
left:$('#resultId').attr('data-left'),
height: $('#resultId').attr('data-height'),
}, 50);
$(this).hide();
$('#minButton').show();
}
});
min.appendTo(titlebar).css({'margin-left':'50%','width':'30px'});
max.appendTo(titlebar).css({'margin-left':'50%','width':'30px'}).hide();
});
我会向X
按钮添加一个事件侦听器,这样,当单击它时,我就可以测量元素的.offsetLeft
和.offsetTop
。这两个属性将为您提供对话框及其容器之间的空间量。
类似于:
var boxLeft;
var boxTop;
var box = document.querySelector(".ui-dialog");
var button = document.querySelector(".ui-dialog-titlebar-close");
button.addEventListener("click", function(){
boxLeft = box.offsetLeft;
boxTop = box.offsetTop;
});
(function whenTheBoxIsOpenedAgain(){
box.style.left = boxLeft + "px";
box.style.top = boxTop + "px";
}())
相关文章:
- 在 Telerik RadGrid 中单击复选框时打开对话框窗口
- 当对话框窗口打开时,使父页模糊
- 如何使用JavaScript关闭此对话框窗口
- Ajax 请求未拉出 jQuery 对话框窗口
- Cke对话框窗口增加了简单的功能
- Ajax 对对话框窗口的响应在第二次尝试时不显示更改的值
- 堆栈溢出如何创建模式对话框窗口
- 如何从IE和Chrome浏览器中的显示模式对话框窗口返回数组对象
- Facebook:对话框窗口弹出 - 导航离开时,我该怎么做
- CKEditor:在插件“图像”的对话框窗口中设置输入字段的值
- 根据 ScriptUI 中的操作更改对话框窗口的大小
- 将选定行的数据从对话框窗口传递到主页
- 模式对话框窗口中的不可见融合图未导出
- 从jquery移动对话框窗口执行父函数
- Indesign Script JS:编辑文档文本框内容并返回对话框窗口
- 通过javascript控制自定义对话框窗口的字段
- 如何保存对话框窗口的位置
- Javascript 对话框窗口关闭
- 年龄验证-关闭对话框窗口
- 如何打开一个对话框窗口