javascript - jqueryui - 如何获得最顶层对话框的位置?

标签 javascript jquery jquery-ui modal-dialog jquery-ui-dialog

我的网络应用程序中有一堆模态窗口。不幸的是,因为所有对话框的大小都相同,所以顶部的对话框覆盖了其他对话框。如果有自定义打开事件会很好,它会检查是否有任何其他对话框打开,选择最顶层的一个并调整 (x,y) 位置,向最顶层对话框的位置添加一些偏移量。有什么想法吗?

最佳答案

您可以编写一个函数来排列页面上的所有 jQuery UI 对话框,并在打开的函数中调用它,就像这样。

function arrangeDialogs() {
    var $dialogs = $('div.ui-dialog:visible');

    if($dialogs.length) {
        var $first = $($dialogs[0]);
        var top = +$first.css('top').replace(/[^-\d\.]/g, '');
        var left = +$first.css('left').replace(/[^-\d\.]/g, '');                    

        $('div.ui-dialog').each(function() {
            $(this).css({top: top + 'px', left: left + 'px'});
            top += 5;
            left += 5;
        });
    }               
}

关于javascript - jqueryui - 如何获得最顶层对话框的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642205/

相关文章:

javascript - 捕获多个 slider 元素上的鼠标悬停

javascript - "if"验证表单的语句无法正常工作

javascript - 如何将 Display None 属性添加到 Img 标签

javascript - Meteor.js 安全地嵌入 iframe

javascript - 如何在 onsubmit 函数完成之前阻止提交表单?

javascript - scrollTo延迟页面过渡效果

jquery - 检测 IE 中包含 PDF 的 iFrame 的 onload 事件

javascript - 在多维数组中查找

jquery - 如何增加 gomap 弹出窗口的大小?

javascript - 已加载 jQuery UI 库但得到 "Uncaught TypeError: $(...).effect is not a function"