2011-06-15 2 views
15

Можно перейти в определенную позицию на странице с помощью #elementId. Как я могу сделать то же самое, используя Javascript/JQuery. Когда вызывается функция JS, я хочу прокрутить ее до определенной позиции на этой странице.Прокрутите до определенной позиции на странице с помощью Javascript/JQuery

ответ

12

После долгих прибегая к помощи я обнаружил, что вам просто нужно сделать, это:

location.hash = "elementId" 
1

Вы можете использовать scrollTop для прокрутки вверх.

вы можете использовать this плагин слишком

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

когда * поведение: гладкое * будет доступно, это будет идеальное решение (так как прямо сейчас он просто прыгает - что не является идеальным UX) – Symba

Смежные вопросы