JQuery将屏幕移动到特定元素

JQuery Move Screen to specific element

本文关键字:元素 移动 屏幕 JQuery      更新时间:2023-09-26

我有一个JQuery UI对话框,其中有一个链接。当单击链接时,对话框应该关闭,然后将屏幕/客户端窗口向下移动到包含联系人详细信息的页脚div。

我的问题:屏幕永远不会移动到我告诉它的地方,它只是停留在原地。对话框正确关闭(所以我知道正在调用javascript函数),但客户端区域不会向下滚动/移动/切换到页脚元素。信息:页脚在页面的底部&页面(主体元素)的高度约为2000px。

我做错了什么;如何让屏幕移动某个元素?

function moveToFooter()
{
    $("body").scrollTop($("#footer").position().left+$("#footer").offset().left, $("#footer").position().top+$("#footer").offset().top);
    // Just a simple test to move the screen anywhere doesn't work either:
    $("body").scrollTop(300,2000);
}

scrollTop只接受一个参数,即水平位置。你给它两个。

此外,您将CSS位置添加到页脚的偏移位置。这没有任何意义。对于绝对定位的元素,这可能有点道理,但意义不大。

因此,正确的代码应该是

function moveToFooter() {
    $("body").scrollTop($("#footer").offset().top);
}

scrollTop只接受一个参数,即顶部位置。对于左侧或X位置,请使用scrollLeft

您必须同时使用scrollTopscrollLeft来移动页面,因为scrollTop只更改Y轴。

插件


我正在使用一个很棒的插件。
jQuery.ScrollTo,由Ariel Flesler创建
您可以轻松地将屏幕移动到所需的位置、所需的元素以及偏移。还有一个令人惊叹的演示页面