jquery维护模态对话框的滚动位置

时间:2011-01-17 22:58:29

标签: javascript jquery jquery-ui

如果用户未经过身份验证并点击了只有经过身份验证的用户,那么我正在加载模式对话框,说明他们需要登录才能执行此操作。

模态包含一个链接,单击此链接意味着加载带登录表单的模式对话框。

这就是我所拥有的:

$("#login-link").click(function () {
        $("#dialog-unauthenticated").dialog("close");
        var x = $(this).position().left + jQuery(this).outerWidth();
        var y = $(this).position().top - jQuery(document).scrollTop();
        $("#dialog-form").dialog("open",{position:[x,y]});

    });

它工作正常,唯一的问题是页面不能保持滚动位置。 对话框加载到正确的位置。

如何保持页面滚动位置而不是滚动到顶部?

1 个答案:

答案 0 :(得分:0)

打开第一个模态时(或之前) - 将页面(document?document.body?)滚动位置保存到某些变量中。 然后,在$(“#login-link”)。click()函数中,将其设置为您保存的值。 对不起我没有你的代码,但是basicall就是

$(document).scrollTop() 
// or
$(document.body).scrollTop()
// or even without the $ function!