如何区分滚动到视图中的元素与自动滚动到视图中的元素

时间:2013-10-08 22:21:08

标签: javascript jquery

我目前正在使用以下JavaScript函数来检测元素是否滚动到视图中:

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

现在,我需要区分这个元素是否在页面加载时自动滚动(例如通过#anchor-tag)或手动滚动到视图中。

这样做的好方法是什么?

1 个答案:

答案 0 :(得分:0)

单击锚点时,URL哈希值会更改。您可以使用window.onhashchange来检测:

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