2011-06-15 18 views

Odpowiedz

12

Po dużo googling odkryłem, że po prostu trzeba to zrobić:

location.hash = "elementId" 
8

Oto przykład funkcja Testowałem na dzisiejsze New York Times front page pomocą konsoli Przeglądarka:

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

Innym rozwiązaniem jest scrollIntoView()

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

kiedy * zachowanie: gładkie * będzie dostępne, będzie to idealne rozwiązanie (jak teraz po prostu skacze - co nie jest idealnym UX) – Symba

Powiązane problemy