2013-10-08 6 views
0

настоящее время я использую следующую функцию JavaScript, чтобы обнаружить ли прокручивается в поле зрения элемент:Как отличить элемент, который прокручивается в поле зрения по сравнению с autoscrolled в поле зрения

function isScrolledIntoView(elem) { 
    var docViewTop = $(window).scrollTop(); 
    var docViewBottom = docViewTop + $(window).height(); 
    var elemTop = $(elem).offset().top; 
    return ((elemTop <= docViewBottom) && (elemTop >= docViewTop)); 
} 

Теперь мне нужно различать независимо от того, был ли этот элемент автопрокручен при загрузке страницы (например, через # anchor-tag) или вручную прокручивается в представлении.

Что такое хороший способ сделать это?

+0

Это то, что в конечном итоге работает для меня: http://stackoverflow.com/a/7210072/145536 –

ответ

0

При нажатии на якорь изменяется хэш URL-адреса. Вы можете использовать window.onhashchange обнаружить, что:

window.onhashchange = function() { 
    console.log(window.location.hash); 
} 
+0

Правда, но это решение не будет работать в моем потому что все URL-адреса будут содержать # как часть URL-адреса. –

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