使用Javascript / Jquery滚动到页面上的特定位置

Scroll to a specific position on a page using Javascript / Jquery

本问题已经有最佳答案,请猛点这里访问。

可以使用#elementId移动到页面上的某个位置。 我怎么能用Javascript / Jquery做同样的事情。 调用JS函数时,我想滚动到该页面上的特定位置。


经过大量的谷歌搜索后,我发现你只需要这样做:

1
location.hash ="elementId"


这是我使用浏览器控制台在今天的纽约时报首页测试的示例函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function scrollToElement(pageElement) {    
    var positionX = 0,        
        positionY = 0;    

    while(pageElement != null){        
        positionX += pageElement.offsetLeft;        
        positionY += pageElement.offsetTop;        
        pageElement = pageElement.offsetParent;        
        window.scrollTo(positionX, positionY);    
    }
}

var pageElement = document.getElementById("insideNYTimesHeader");
scrollToElement(pageElement);


另一个解决方案是scrollIntoView()

1
document.getElementById("elementID").scrollIntoView();


你可以使用scrollTop向上滚动。

你也可以使用这个插件