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

Der*_*rin 21 javascript jquery

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

Der*_*rin 19

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

location.hash = "elementId"
Run Code Online (Sandbox Code Playgroud)


Jos*_*arl 12

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

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);
Run Code Online (Sandbox Code Playgroud)

  • @nwillo `window.scrollTo({ 顶部:positionY,左侧:positionX,行为:'平滑' });` (2认同)

Pra*_*rti 10

另一个解决方案是scrollIntoView()

document.getElementById("elementID").scrollIntoView();
Run Code Online (Sandbox Code Playgroud)