JQuery将屏幕移动到特定元素

时间:2012-02-13 02:56:27

标签: javascript jquery css

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

我的问题:屏幕从未移动到我告诉它的位置,它只是停留在原来的位置。对话框正确关闭(所以我知道正在调用javascript函数)但客户区不会向下滚动/移动/切换到页脚元素。信息:页脚位于页面底部&页面(body元素)大约是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);
}

3 个答案:

答案 0 :(得分:1)

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

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

所以,正确的代码应该是

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

插件


我正在使用一个很棒的插件。
jQuery.ScrollTo,由Ariel Flesler创作 您可以轻松地将屏幕移动到所需的位置,所需的元素以及偏移。 它还有一个惊人的demo page