我有一个带有链接的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);
}
答案 0 :(得分:1)
scrollTop只接受一个参数,水平位置。你给它两个。
此外,您将CSS位置添加到页脚的偏移位置。这没有任何意义。对于绝对定位的元素,它可能有点意义,但不是很多。
所以,正确的代码应该是
function moveToFooter() {
$("body").scrollTop($("#footer").offset().top);
}
答案 1 :(得分:0)
scrollTop
只接受一个参数,即最高位置。对于左侧或X位置,请使用scrollLeft
。
答案 2 :(得分:0)
您必须同时使用scrollTop
和scrollLeft
移动页面,因为scrollTop
仅更改 Y 轴。
我正在使用一个很棒的插件。
jQuery.ScrollTo,由Ariel Flesler创作
您可以轻松地将屏幕移动到所需的位置,所需的元素以及偏移。
它还有一个惊人的demo page。