【问题标题】:jQuery dialog on page load not scrolls页面加载时的 jQuery 对话框不滚动
【发布时间】:2026-02-06 15:55:01
【问题描述】:

我看到一些问题,询问如何在打开对话框时停止页面滚动。但是我需要我的长页面向上/向下滚动以显示一个对话框。

在页面加载时,如果满足某些条件,我会打开一个对话框:

   $(function () {
       if (someCondition) {
           $('#showOnce').dialog(); // default position seems to be center
       }
   });

如果我关闭对话框并向下滚动到长页面的底部并刷新,它会打开对话框但它一直显示底部,所以要查看对话框,我需要向上滚动。

如何让页面向上滚动以显示对话框?

[Edit1] 我注意到页面刷新时浏览器之间的差异:
- Chrome/IE 保持滚动位置但在顶部打开对话框(因此对话框未显示)
- FF 保持滚动位置并在当前位置打开对话框(我喜欢这个!)

【问题讨论】:

标签: jquery asp.net jquery-ui-dialog


【解决方案1】:

这对您有帮助吗? 来自 jQuery API:

.scrollTop()

.scroll()

【讨论】:

    【解决方案2】:

    试试这个,

    $(function () {
       if (someCondition) {
           $('#showOnce').dialog(); // default position seems to be center
           $(window).scrollTop(0);
       }
    });
    

    关闭你可以使用的对话框,

    $(window).scrollTo( '100%' );
    

    【讨论】: