javascript - 如何保存对话框窗口的位置

标签 javascript jquery

有没有办法保存打开的dialog窗口的当前位置,以便当我将其恢复时,它会返回到最后的位置。这是我的 fiddle :http://jsfiddle.net/ZSk6L/935/如您所见,最小化后,窗口会下降,但如果我最大化,它会到达设定的位置和高度。有什么解决方案可以告诉对话框框屏幕上的上一个位置吗?

最佳答案

只是你的代码的一个技巧,可能会对你有所帮助,即使你拖动它它也会保存位置:

<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();
    });

关于javascript - 如何保存对话框窗口的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33535803/

相关文章:

jquery ajax解析错误

javascript - XML Ajax 请求中请求的资源上不存在 'Access-Control-Allow-Origin' header

javascript - 在 onclick 函数后需要帮助将 div 移动到另一个 div

javascript - 从 Three.js 编辑器导出场景并导入

javascript - jQuery + 正则表达式替换文本区域内的 href 和 src 值

jquery - 如果无法在浏览器中打开文件,则停止浏览器下载文件

javascript - 切换菜单,但也允许在不关闭的情况下单击内部

javascript - HTML/JS : Calculating and displaying price

javascript - 如何限制滚动到固定的 Div?

javascript - 如何将两个下拉列表的多个选定值发送到ajax服务器?