2011-06-15 107 views

回答

12

多google搜索,我發現你只需要做到這一點後:

location.hash = "elementId" 
8

下面是我對今天的New York Times front page測試使用瀏覽器控制檯的例子功能:

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); 
7

另一種解決方案是scrollIntoView()

document.getElementById("elementID").scrollIntoView(); 
+0

當*行爲:平滑*將可用,這將是一個完美的解決方案(因爲現在它只是跳 - 這不是理想的用戶體驗) – Symba 2017-08-07 08:11:51

相關問題