Javascript jQuery对话框,当前屏幕上的静态位置

Javascript jQuery对话框,当前屏幕上的静态位置,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个搜索和替换对话框。目前,我使用如下方法重新调整窗口的位置。我需要在屏幕上保持窗口的静态(无论用户将窗口拖到哪里),而不移动它,也不将它重置回屏幕中间,这就是jQuery(“对话框形式”)。dialog(“选项”、“位置”、“中心”)当前有 下面是一个样本来自。我想知道如何修改setter值,以便根据当前视口设置重新定位窗口。因此,当它在页面上自动滚动时,它将始终保持在当前视口的X和Y位置 //getter var position = $( ".selector" ).dialog( "

我有一个搜索和替换对话框。目前,我使用如下方法重新调整窗口的位置。我需要在屏幕上保持窗口的静态(无论用户将窗口拖到哪里),而不移动它,也不将它重置回屏幕中间,这就是
jQuery(“对话框形式”)。dialog(“选项”、“位置”、“中心”)当前有

下面是一个样本来自。我想知道如何修改setter值,以便根据当前视口设置重新定位窗口。因此,当它在页面上自动滚动时,它将始终保持在当前视口的X和Y位置

//getter
var position = $( ".selector" ).dialog( "option", "position" );
//setter
$( ".selector" ).dialog( "option", "position", 'top' );

这是我对滚动和调整大小所做的:

$(window)
        .resize(function() {
            $('body').css('height', $(this).height())
            $('#alertsWindow').dialog( "option", "position", ['left','bottom'] );
        })
        .scroll(function(){$(this).resize()});
它将对话框保留在角落里。(您可以使用任何想要使用的位置)

权利来自:

你可以试试这个:

$(window).resize(function() {$(".selector").dialog("option", "position", ['center','top']);});

$(window).scroll(function() {$(".selector").dialog("option", "position", ['center','top']);});

我知道这个问题由来已久,但更好的解决方法是设置位置:固定在包含对话框的元素上。没有代码参与,CSS将为您处理一切。通过jQuery Resizeable插件进行调整大小操作后,您需要将位置重置为fixed,因为该插件会选择position CSS属性并将其设置为absolute。

是否可以用实际的X和Y坐标填充
left
bottom
?@Webnet,是的。用你想要的坐标填充它:-)
$(window).resize(function() {$(".selector").dialog("option", "position", ['center','top']);});

$(window).scroll(function() {$(".selector").dialog("option", "position", ['center','top']);});